0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Remove fake loop predecessors
28: Edge Case Analysis (Late)
29: Bounds Check Elimination
30: Shape Guard Elimination
31: GC Barrier Elimination
32: FoldLoadsWithUnbox
33: Add KeepAlive Instructions
34: Generate LIR
35: Allocate Registers [Backtracking]
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x2 Int32 6 Unbox Parameter#1 to Double (fallible) Double 7 Mul ← Unbox#6, Constant#5 [double] Double 8 Return ← Mul#7
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x2 Int32 6 Unbox Parameter#1 to Double (fallible) Double 7 Mul ← Unbox#6, Constant#5 [double] Double 8 Return ← Mul#7
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x2 Int32 6 Unbox Parameter#1 to Double (fallible) Double 7 Mul ← Unbox#6, Constant#5 [double] Double 8 Return ← Mul#7
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x2 Int32 6 Unbox Parameter#1 to Double (fallible) Double 7 Mul ← Unbox#6, Constant#5 [double] Double 8 Return ← Mul#7
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x2 Int32 6 Unbox Parameter#1 to Double (fallible) Double 7 Mul ← Unbox#6, Constant#5 [double] Double 8 Return ← Mul#7
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x2 Int32 6 Unbox Parameter#1 to Double (fallible) Double 7 Mul ← Unbox#6, Constant#5 [double] Double 8 Return ← Mul#7
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x2 Int32 6 Unbox Parameter#1 to Double (fallible) Double 7 Mul ← Unbox#6, Constant#5 [double] Double 8 Return ← Mul#7
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x2 Int32 6 Unbox Parameter#1 to Double (fallible) Double 7 Mul ← Unbox#6, Constant#5 [double] Double 8 Return ← Mul#7
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x2 Int32 6 Unbox Parameter#1 to Double (fallible) Double 7 Mul ← Unbox#6, Constant#5 [double] Double 8 Return ← Mul#7
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x2 Int32 6 Unbox Parameter#1 to Double (fallible) Double 7 Mul ← Unbox#6, Constant#5 [double] Double 8 Return ← Mul#7
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x2 Int32 6 Unbox Parameter#1 to Double (fallible) Double 7 Mul ← Unbox#6, Constant#5 [double] Double 8 Return ← Mul#7
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x2 Int32 6 Unbox Parameter#1 to Double (fallible) Double 9 ToDouble ← Constant#5 Double 7 Mul ← Unbox#6, ToDouble#9 [double] Double 10 Box ← Mul#7 Value 8 Return ← Box#10
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x2 Int32 6 Unbox Parameter#1 to Double (fallible) Double 7 ToDouble ← Constant#5 Double 8 Mul ← Unbox#6, ToDouble#7 [double] Double 9 Box ← Mul#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x2 Int32 6 Unbox Parameter#1 to Double (fallible) Double 7 ToDouble ← Constant#5 Double 8 Mul ← Unbox#6, ToDouble#7 [double] Double 9 Box ← Mul#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 11 Constant 2 Double 8 Mul ← Unbox#6, Constant#11 [double] Double 9 Box ← Mul#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 11 Constant 2 Double 8 Mul ← Unbox#6, Constant#11 [double] Double 9 Box ← Mul#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 11 Constant 2 Double 8 Mul ← Unbox#6, Constant#11 [double] Double 9 Box ← Mul#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 11 Constant 2 I[2, 2]: Double 8 Mul ← Unbox#6, Constant#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Mul#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 11 Constant 2 I[2, 2]: Double 8 Mul ← Unbox#6, Constant#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Mul#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 11 Constant 2 I[2, 2]: Double 8 Mul ← Unbox#6, Constant#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Mul#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 11 Constant 2 I[2, 2]: Double 8 Mul ← Unbox#6, Constant#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Mul#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 11 Constant 2 I[2, 2]: Double 8 Mul ← Unbox#6, Constant#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Mul#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 11 Constant 2 I[2, 2]: Double 8 Mul ← Unbox#6, Constant#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Mul#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 11 Constant 2 I[2, 2]: Double 8 Mul ← Unbox#6, Constant#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Mul#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 11 Constant 2 I[2, 2]: Double 8 Mul ← Unbox#6, Constant#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Mul#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Unbox Parameter#1 to Double (fallible) Double 6 Constant 2 I[2, 2]: Double 7 Mul ← Unbox#5, Constant#6 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 8 Box ← Mul#7 Value 9 Return ← Box#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Unbox Parameter#1 to Double (fallible) Double 6 Constant 2 I[2, 2]: Double 7 Mul ← Unbox#5, Constant#6 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 8 Box ← Mul#7 Value 9 Return ← Box#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Unbox Parameter#1 to Double (fallible) Double 6 Constant 2 I[2, 2]: Double 7 Mul ← Unbox#5, Constant#6 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 8 Box ← Mul#7 Value 9 Return ← Box#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Unbox Parameter#1 to Double (fallible) Double 6 Constant 2 I[2, 2]: Double 7 Mul ← Unbox#5, Constant#6 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 8 Box ← Mul#7 Value 9 Return ← Box#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Unbox Parameter#1 to Double (fallible) Double 6 Constant 2 I[2, 2]: Double 7 Mul ← Unbox#5, Constant#6 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 8 Box ← Mul#7 Value 9 Return ← Box#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Unbox Parameter#1 to Double (fallible) Double 6 Constant 2 I[2, 2]: Double 7 Mul ← Unbox#5, Constant#6 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 8 Box ← Mul#7 Value 9 Return ← Box#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Unbox Parameter#1 to Double (fallible) Double 6 Constant 2 I[2, 2]: Double 7 Mul ← Unbox#5, Constant#6 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 8 Box ← Mul#7 Value 9 Return ← Box#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Unbox Parameter#1 to Double (fallible) Double 6 Constant 2 I[2, 2]: Double 7 Mul ← Unbox#5, Constant#6 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 8 Box ← Mul#7 Value 9 Return ← Box#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Unbox Parameter#1 to Double (fallible) Double 6 Constant 2 I[2, 2]: Double 7 Mul ← Unbox#5, Constant#6 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 8 Box ← Mul#7 Value 9 Return ← Box#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Unbox Parameter#1 to Double (fallible) Double 6 Constant 2 I[2, 2]: Double 7 Mul ← Unbox#5, Constant#6 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 8 Box ← Mul#7 Value 9 Return ← Box#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x32 Int32 6 Unbox Parameter#1 to Double (fallible) Double 7 Compare ← Unbox#6, Constant#5 Gt Bool 8 Return ← Compare#7
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x32 Int32 6 Unbox Parameter#1 to Double (fallible) Double 7 Compare ← Unbox#6, Constant#5 Gt Bool 8 Return ← Compare#7
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x32 Int32 6 Unbox Parameter#1 to Double (fallible) Double 7 Compare ← Unbox#6, Constant#5 Gt Bool 8 Return ← Compare#7
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x32 Int32 6 Unbox Parameter#1 to Double (fallible) Double 7 Compare ← Unbox#6, Constant#5 Gt Bool 8 Return ← Compare#7
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x32 Int32 6 Unbox Parameter#1 to Double (fallible) Double 7 Compare ← Unbox#6, Constant#5 Gt Bool 8 Return ← Compare#7
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x32 Int32 6 Unbox Parameter#1 to Double (fallible) Double 7 Compare ← Unbox#6, Constant#5 Gt Bool 8 Return ← Compare#7
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x32 Int32 6 Unbox Parameter#1 to Double (fallible) Double 7 Compare ← Unbox#6, Constant#5 Gt Bool 8 Return ← Compare#7
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x32 Int32 6 Unbox Parameter#1 to Double (fallible) Double 7 Compare ← Unbox#6, Constant#5 Gt Bool 8 Return ← Compare#7
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x32 Int32 6 Unbox Parameter#1 to Double (fallible) Double 7 Compare ← Unbox#6, Constant#5 Gt Bool 8 Return ← Compare#7
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x32 Int32 6 Unbox Parameter#1 to Double (fallible) Double 7 Compare ← Unbox#6, Constant#5 Gt Bool 8 Return ← Compare#7
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x32 Int32 6 Unbox Parameter#1 to Double (fallible) Double 7 Compare ← Unbox#6, Constant#5 Gt Bool 8 Return ← Compare#7
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x32 Int32 6 Unbox Parameter#1 to Double (fallible) Double 9 ToDouble ← Constant#5 Double 7 Compare ← Unbox#6, ToDouble#9 Gt Bool 10 Box ← Compare#7 Value 8 Return ← Box#10
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x32 Int32 6 Unbox Parameter#1 to Double (fallible) Double 7 ToDouble ← Constant#5 Double 8 Compare ← Unbox#6, ToDouble#7 Gt Bool 9 Box ← Compare#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x32 Int32 6 Unbox Parameter#1 to Double (fallible) Double 7 ToDouble ← Constant#5 Double 8 Compare ← Unbox#6, ToDouble#7 Gt Bool 9 Box ← Compare#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 11 Constant 50 Double 8 Compare ← Unbox#6, Constant#11 Gt Bool 9 Box ← Compare#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 11 Constant 50 Double 8 Compare ← Unbox#6, Constant#11 Gt Bool 9 Box ← Compare#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 11 Constant 50 Double 8 Compare ← Unbox#6, Constant#11 Gt Bool 9 Box ← Compare#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 11 Constant 50 I[50, 50]: Double 8 Compare ← Unbox#6, Constant#11 Gt Bool 9 Box ← Compare#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 11 Constant 50 I[50, 50]: Double 8 Compare ← Unbox#6, Constant#11 Gt Bool 9 Box ← Compare#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 11 Constant 50 I[50, 50]: Double 8 Compare ← Unbox#6, Constant#11 Gt Bool 9 Box ← Compare#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 11 Constant 50 I[50, 50]: Double 8 Compare ← Unbox#6, Constant#11 Gt Bool 9 Box ← Compare#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 11 Constant 50 I[50, 50]: Double 8 Compare ← Unbox#6, Constant#11 Gt Bool 9 Box ← Compare#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 11 Constant 50 I[50, 50]: Double 8 Compare ← Unbox#6, Constant#11 Gt Bool 9 Box ← Compare#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 11 Constant 50 I[50, 50]: Double 8 Compare ← Unbox#6, Constant#11 Gt Bool 9 Box ← Compare#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 11 Constant 50 I[50, 50]: Double 8 Compare ← Unbox#6, Constant#11 Gt Bool 9 Box ← Compare#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Unbox Parameter#1 to Double (fallible) Double 6 Constant 50 I[50, 50]: Double 7 Compare ← Unbox#5, Constant#6 Gt Bool 8 Box ← Compare#7 Value 9 Return ← Box#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Unbox Parameter#1 to Double (fallible) Double 6 Constant 50 I[50, 50]: Double 7 Compare ← Unbox#5, Constant#6 Gt Bool 8 Box ← Compare#7 Value 9 Return ← Box#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Unbox Parameter#1 to Double (fallible) Double 6 Constant 50 I[50, 50]: Double 7 Compare ← Unbox#5, Constant#6 Gt Bool 8 Box ← Compare#7 Value 9 Return ← Box#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Unbox Parameter#1 to Double (fallible) Double 6 Constant 50 I[50, 50]: Double 7 Compare ← Unbox#5, Constant#6 Gt Bool 8 Box ← Compare#7 Value 9 Return ← Box#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Unbox Parameter#1 to Double (fallible) Double 6 Constant 50 I[50, 50]: Double 7 Compare ← Unbox#5, Constant#6 Gt Bool 8 Box ← Compare#7 Value 9 Return ← Box#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Unbox Parameter#1 to Double (fallible) Double 6 Constant 50 I[50, 50]: Double 7 Compare ← Unbox#5, Constant#6 Gt Bool 8 Box ← Compare#7 Value 9 Return ← Box#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Unbox Parameter#1 to Double (fallible) Double 6 Constant 50 I[50, 50]: Double 7 Compare ← Unbox#5, Constant#6 Gt Bool 8 Box ← Compare#7 Value 9 Return ← Box#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Unbox Parameter#1 to Double (fallible) Double 6 Constant 50 I[50, 50]: Double 7 Compare ← Unbox#5, Constant#6 Gt Bool 8 Box ← Compare#7 Value 9 Return ← Box#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Unbox Parameter#1 to Double (fallible) Double 6 Constant 50 I[50, 50]: Double 7 Compare ← Unbox#5, Constant#6 Gt Bool 8 Box ← Compare#7 Value 9 Return ← Box#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Unbox Parameter#1 to Double (fallible) Double 6 Constant 50 I[50, 50]: Double 7 Compare ← Unbox#5, Constant#6 Gt Bool 8 Box ← Compare#7 Value 9 Return ← Box#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 LoadFixedSlot ← FunctionEnvironment#6 (slot 2) Value 8 Unbox LoadFixedSlot#7 to Object (fallible) Object 9 MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 LoadFixedSlot ← FunctionEnvironment#6 (slot 2) Value 8 Unbox LoadFixedSlot#7 to Object (fallible) Object 9 MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 LoadFixedSlot ← FunctionEnvironment#6 (slot 2) Value 8 Unbox LoadFixedSlot#7 to Object (fallible) Object 9 MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 LoadFixedSlot ← FunctionEnvironment#6 (slot 2) Value 8 Unbox LoadFixedSlot#7 to Object (fallible) Object 9 MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 LoadFixedSlot ← FunctionEnvironment#6 (slot 2) Value 8 Unbox LoadFixedSlot#7 to Object (fallible) Object 9 MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 LoadFixedSlot ← FunctionEnvironment#6 (slot 2) Value 8 Unbox LoadFixedSlot#7 to Object (fallible) Object 9 MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 LoadFixedSlot ← FunctionEnvironment#6 (slot 2) Value 8 Unbox LoadFixedSlot#7 to Object (fallible) Object 9 MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 LoadFixedSlot ← FunctionEnvironment#6 (slot 2) Value 8 Unbox LoadFixedSlot#7 to Object (fallible) Object 9 MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 LoadFixedSlot ← FunctionEnvironment#6 (slot 2) Value 8 Unbox LoadFixedSlot#7 to Object (fallible) Object 9 MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 LoadFixedSlot ← FunctionEnvironment#6 (slot 2) Value 8 Unbox LoadFixedSlot#7 to Object (fallible) Object 9 MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 LoadFixedSlot ← FunctionEnvironment#6 (slot 2) Value 8 Unbox LoadFixedSlot#7 to Object (fallible) Object 9 MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 LoadFixedSlot ← FunctionEnvironment#6 (slot 2) Value 8 Unbox LoadFixedSlot#7 to Object (fallible) Object 9 MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 LoadFixedSlot ← FunctionEnvironment#6 (slot 2) Value 8 Unbox LoadFixedSlot#7 to Object (fallible) Object 9 MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 LoadFixedSlot ← FunctionEnvironment#6 (slot 2) Value 8 Unbox LoadFixedSlot#7 to Object (fallible) Object 9 MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 LoadFixedSlot ← FunctionEnvironment#6 (slot 2) Value 8 Unbox LoadFixedSlot#7 to Object (fallible) Object 9 MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 LoadFixedSlot ← FunctionEnvironment#6 (slot 2) Value 8 Unbox LoadFixedSlot#7 to Object (fallible) Object 9 MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 LoadFixedSlot ← FunctionEnvironment#6 (slot 2) Value 8 Unbox LoadFixedSlot#7 to Object (fallible) Object 9 MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 LoadFixedSlot ← FunctionEnvironment#6 (slot 2) Value 8 Unbox LoadFixedSlot#7 to Object (fallible) Object 9 MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 LoadFixedSlot ← FunctionEnvironment#6 (slot 2) Value 8 Unbox LoadFixedSlot#7 to Object (fallible) Object 9 MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 LoadFixedSlot ← FunctionEnvironment#6 (slot 2) Value 8 Unbox LoadFixedSlot#7 to Object (fallible) Object 9 MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 LoadFixedSlot ← FunctionEnvironment#6 (slot 2) Value 8 Unbox LoadFixedSlot#7 to Object (fallible) Object 9 MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 LoadFixedSlot ← FunctionEnvironment#6 (slot 2) Value 8 Unbox LoadFixedSlot#7 to Object (fallible) Object 9 MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 LoadFixedSlot ← FunctionEnvironment#6 (slot 2) Value 8 Unbox LoadFixedSlot#7 to Object (fallible) Object 9 MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 LoadFixedSlot ← FunctionEnvironment#6 (slot 2) Value 8 Unbox LoadFixedSlot#7 to Object (fallible) Object 9 MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 LoadFixedSlot ← FunctionEnvironment#6 (slot 2) Value 8 Unbox LoadFixedSlot#7 to Object (fallible) Object 9 MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 LoadFixedSlot ← FunctionEnvironment#6 (slot 2) Value 8 Unbox LoadFixedSlot#7 to Object (fallible) Object 9 MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 LoadFixedSlot ← FunctionEnvironment#6 (slot 2) Value 8 Unbox LoadFixedSlot#7 to Object (fallible) Object 9 MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 LoadFixedSlot ← FunctionEnvironment#6 (slot 2) Value 8 Unbox LoadFixedSlot#7 to Object (fallible) Object 9 MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 LoadFixedSlot ← FunctionEnvironment#6 (slot 2) Value 8 Unbox LoadFixedSlot#7 to Object (fallible) Object 9 MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 LoadFixedSlot ← FunctionEnvironment#6 (slot 2) Value 8 Unbox LoadFixedSlot#7 to Object (fallible) Object 9 MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 LoadFixedSlot ← FunctionEnvironment#6 (slot 2) Value 8 Unbox LoadFixedSlot#7 to Object (fallible) Object 9 MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 11 LoadFixedSlotAndUnbox ← FunctionEnvironment#6 (slot 2) Object 9 MegamorphicLoadSlotByValue ← LoadFixedSlotAndUnbox#11, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 11 LoadFixedSlotAndUnbox ← FunctionEnvironment#6 (slot 2) Object 9 MegamorphicLoadSlotByValue ← LoadFixedSlotAndUnbox#11, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 11 LoadFixedSlotAndUnbox ← FunctionEnvironment#6 (slot 2) Object 9 MegamorphicLoadSlotByValue ← LoadFixedSlotAndUnbox#11, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 11 LoadFixedSlotAndUnbox ← FunctionEnvironment#6 (slot 2) Object 9 MegamorphicLoadSlotByValue ← LoadFixedSlotAndUnbox#11, Parameter#1 Value 10 Return ← MegamorphicLoadSlotByValue#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Return ← Add#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Return ← Add#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Return ← Add#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Return ← Add#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Return ← Add#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Return ← Add#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Return ← Add#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Return ← Add#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Return ← Add#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Return ← Add#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Return ← Add#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 10 Box ← Add#8 Value 9 Return ← Box#10
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Return ← Add#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Return ← Add#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Return ← Add#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Return ← Add#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Return ← Add#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Return ← Add#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Return ← Add#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Return ← Add#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Return ← Add#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Return ← Add#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Return ← Add#8
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 10 Box ← Add#8 Value 9 Return ← Box#10
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Unbox Parameter#1 to Double (fallible) Double 7 Unbox Parameter#2 to Double (fallible) Double 8 Add ← Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 9 Box ← Add#8 Value 10 Return ← Box#9
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c2e080 String 29 Bail 30 UnreachableResult Value 31 Goto → block 2 Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 47 UnreachableResult Value 48 Bail 49 UnreachableResult Value 50 Goto → block 4 Block 4 51 ArgumentsLength Int32 52 Constant 0x1 Int32 53 Compare ← ArgumentsLength#51, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 55 Constant 0x1 Int32 56 GetFrameArgument ← Constant#55 Value 57 Goto → block 7 Block 6 58 Constant undefined Undefined 59 Goto → block 7 Block 7 60 Phi ← Constant#58, GetFrameArgument#56 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 DebugCheckSelfHosted ← Constant#61 Value 63 Constant undefined Undefined 64 Constant 0x1 Int32 65 HasShape ← Unbox#9 Bool 66 Test ← HasShape#65 → block 8, block 9 1 0 Block 8 67 Constant function std_Array at 104289c6c820 Object 68 DebugCheckSelfHosted ← Constant#67 Value 69 Constant undefined Undefined 70 Constant 0x1 Int32 71 Unbox DebugCheckSelfHosted#68 to Object (fallible) Object 72 Constant function std_Array at 104289c6c820 Object 73 GuardSpecificFunction ← Unbox#71, Constant#72 Object 74 NewArrayDynamicLength ← MinMax#18 Object 75 Goto → block 10 Block 9 76 CallGetIntrinsicValue Value 77 DebugCheckSelfHosted ← CallGetIntrinsicValue#76 Value 78 Constant undefined Undefined 79 Bail 80 UnreachableResult Value 81 Goto → block 10 Block 10 82 Phi ← UnreachableResult#80, NewArrayDynamicLength#74 Value 83 Constant 0x0 Int32 95 Goto → block 11 Block 11 (loop header) 84 Phi ← Constant#2, Constant#2 Value 85 Phi ← Constant#2, Constant#2 Value 86 Phi ← Parameter#0, Parameter#0 Value 87 Phi ← Parameter#1, Parameter#1 Value 88 Phi ← Unbox#9, Unbox#9 Value 89 Phi ← MinMax#18, MinMax#18 Value 90 Phi ← Phi#60, Phi#60 Value 91 Phi ← Phi#82, Phi#82 Value 92 Phi ← Constant#83, Add#130 Value 93 Phi ← Constant#2, Phi#127 Value 94 Phi ← Parameter#0, Parameter#0 Value 96 InterruptCheck 97 Unbox Phi#92 to Int32 (fallible) Int32 98 Unbox Phi#89 to Int32 (fallible) Int32 99 Compare ← Unbox#97, Unbox#98 Lt Bool 100 Test ← Compare#99 → block 12, block 15 1 0 Block 12 101 Unbox Phi#88 to Object (fallible) Object 102 Unbox Phi#92 to Int32 (fallible) Int32 103 GuardShape ← Unbox#101 Object 104 Elements ← GuardShape#103 Elements 105 InitializedLength ← Elements#104 Int32 106 BoundsCheck ← Unbox#102, InitializedLength#105 Int32 107 SpectreMaskIndex ← BoundsCheck#106, InitializedLength#105 Int32 108 GuardElementNotHole ← Elements#104, SpectreMaskIndex#107 109 Constant true Bool 110 Test ← Constant#109 → block 13, block 14 1 0 Block 13 111 Unbox Phi#88 to Object (fallible) Object 112 Unbox Phi#92 to Int32 (fallible) Int32 113 GuardShape ← Unbox#111 Object 114 Elements ← GuardShape#113 Elements 115 InitializedLength ← Elements#114 Int32 116 BoundsCheck ← Unbox#112, InitializedLength#115 Int32 117 SpectreMaskIndex ← BoundsCheck#116, InitializedLength#115 Int32 118 GuardElementsArePacked ← Elements#114 119 LoadElement ← Elements#114, SpectreMaskIndex#117 Value 120 Call ← Phi#87, Phi#90, LoadElement#119, Phi#92, Phi#88 Value 121 Unbox Phi#91 to Object (fallible) Object 122 Unbox Phi#92 to Int32 (fallible) Int32 123 GuardShape ← Unbox#121 Object 124 Elements ← GuardShape#123 Elements 125 StoreElementHole ← GuardShape#123, Elements#124, Unbox#122, Call#120 126 Goto → block 14 Block 14 (backedge) 127 Phi ← Call#120, Phi#93 Value 128 Unbox Phi#92 to Int32 (fallible) Int32 129 Constant 0x1 Int32 130 Add ← Unbox#128, Constant#129 [int32] Int32 131 Goto → block 11 Block 15 132 Return ← Phi#91
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c2e080 String 29 Bail 135 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 134 Unreachable Block 4 51 ArgumentsLength Int32 52 Constant 0x1 Int32 53 Compare ← ArgumentsLength#51, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 55 Constant 0x1 Int32 56 GetFrameArgument ← Constant#55 Value 57 Goto → block 7 Block 6 58 Constant undefined Undefined 59 Goto → block 7 Block 7 60 Phi ← Constant#58, GetFrameArgument#56 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 DebugCheckSelfHosted ← Constant#61 Value 63 Constant undefined Undefined 64 Constant 0x1 Int32 65 HasShape ← Unbox#9 Bool 66 Test ← HasShape#65 → block 8, block 9 1 0 Block 8 67 Constant function std_Array at 104289c6c820 Object 68 DebugCheckSelfHosted ← Constant#67 Value 69 Constant undefined Undefined 70 Constant 0x1 Int32 71 Unbox DebugCheckSelfHosted#68 to Object (fallible) Object 72 Constant function std_Array at 104289c6c820 Object 73 GuardSpecificFunction ← Unbox#71, Constant#72 Object 74 NewArrayDynamicLength ← MinMax#18 Object 75 Goto → block 10 Block 9 76 CallGetIntrinsicValue Value 77 DebugCheckSelfHosted ← CallGetIntrinsicValue#76 Value 78 Constant undefined Undefined 79 Bail 133 Unreachable Block 10 82 Phi ← NewArrayDynamicLength#74 Value 83 Constant 0x0 Int32 95 Goto → block 11 Block 11 (loop header) 84 Phi ← Constant#2, Constant#2 Value 85 Phi ← Constant#2, Constant#2 Value 86 Phi ← Parameter#0, Parameter#0 Value 87 Phi ← Parameter#1, Parameter#1 Value 88 Phi ← Unbox#9, Unbox#9 Value 89 Phi ← MinMax#18, MinMax#18 Value 90 Phi ← Phi#60, Phi#60 Value 91 Phi ← Phi#82, Phi#82 Value 92 Phi ← Constant#83, Add#130 Value 93 Phi ← Constant#2, Phi#127 Value 94 Phi ← Parameter#0, Parameter#0 Value 96 InterruptCheck 97 Unbox Phi#92 to Int32 (fallible) Int32 98 Unbox Phi#89 to Int32 (fallible) Int32 99 Compare ← Unbox#97, Unbox#98 Lt Bool 100 Test ← Compare#99 → block 12, block 15 1 0 Block 12 101 Unbox Phi#88 to Object (fallible) Object 102 Unbox Phi#92 to Int32 (fallible) Int32 103 GuardShape ← Unbox#101 Object 104 Elements ← GuardShape#103 Elements 105 InitializedLength ← Elements#104 Int32 106 BoundsCheck ← Unbox#102, InitializedLength#105 Int32 107 SpectreMaskIndex ← BoundsCheck#106, InitializedLength#105 Int32 108 GuardElementNotHole ← Elements#104, SpectreMaskIndex#107 109 Constant true Bool 110 Test ← Constant#109 → block 13, block 14 1 0 Block 13 111 Unbox Phi#88 to Object (fallible) Object 112 Unbox Phi#92 to Int32 (fallible) Int32 113 GuardShape ← Unbox#111 Object 114 Elements ← GuardShape#113 Elements 115 InitializedLength ← Elements#114 Int32 116 BoundsCheck ← Unbox#112, InitializedLength#115 Int32 117 SpectreMaskIndex ← BoundsCheck#116, InitializedLength#115 Int32 118 GuardElementsArePacked ← Elements#114 119 LoadElement ← Elements#114, SpectreMaskIndex#117 Value 120 Call ← Phi#87, Phi#90, LoadElement#119, Phi#92, Phi#88 Value 121 Unbox Phi#91 to Object (fallible) Object 122 Unbox Phi#92 to Int32 (fallible) Int32 123 GuardShape ← Unbox#121 Object 124 Elements ← GuardShape#123 Elements 125 StoreElementHole ← GuardShape#123, Elements#124, Unbox#122, Call#120 126 Goto → block 14 Block 14 (backedge) 127 Phi ← Call#120, Phi#93 Value 128 Unbox Phi#92 to Int32 (fallible) Int32 129 Constant 0x1 Int32 130 Add ← Unbox#128, Constant#129 [int32] Int32 131 Goto → block 11 Block 15 132 Return ← Phi#91
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c2e080 String 29 Bail 135 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 134 Unreachable Block 4 51 ArgumentsLength Int32 52 Constant 0x1 Int32 53 Compare ← ArgumentsLength#51, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 55 Constant 0x1 Int32 56 GetFrameArgument ← Constant#55 Value 57 Goto → block 7 Block 6 58 Constant undefined Undefined 59 Goto → block 7 Block 7 60 Phi ← Constant#58, GetFrameArgument#56 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 DebugCheckSelfHosted ← Constant#61 Value 63 Constant undefined Undefined 64 Constant 0x1 Int32 65 HasShape ← Unbox#9 Bool 66 Test ← HasShape#65 → block 8, block 9 1 0 Block 8 67 Constant function std_Array at 104289c6c820 Object 68 DebugCheckSelfHosted ← Constant#67 Value 69 Constant undefined Undefined 70 Constant 0x1 Int32 71 Unbox DebugCheckSelfHosted#68 to Object (fallible) Object 72 Constant function std_Array at 104289c6c820 Object 73 GuardSpecificFunction ← Unbox#71, Constant#72 Object 74 NewArrayDynamicLength ← MinMax#18 Object 75 Goto → block 10 Block 9 76 CallGetIntrinsicValue Value 77 DebugCheckSelfHosted ← CallGetIntrinsicValue#76 Value 78 Constant undefined Undefined 79 Bail 133 Unreachable Block 10 82 Phi ← NewArrayDynamicLength#74 Value 83 Constant 0x0 Int32 95 Goto → block 11 Block 11 (loop header) 84 Phi ← Constant#2, Constant#2 Value 85 Phi ← Constant#2, Constant#2 Value 86 Phi ← Parameter#0, Parameter#0 Value 87 Phi ← Parameter#1, Parameter#1 Value 88 Phi ← Unbox#9, Unbox#9 Value 89 Phi ← MinMax#18, MinMax#18 Value 90 Phi ← Phi#60, Phi#60 Value 91 Phi ← Phi#82, Phi#82 Value 92 Phi ← Constant#83, Add#130 Value 93 Phi ← Constant#2, Phi#127 Value 94 Phi ← Parameter#0, Parameter#0 Value 96 InterruptCheck 97 Unbox Phi#92 to Int32 (fallible) Int32 98 Unbox Phi#89 to Int32 (fallible) Int32 99 Compare ← Unbox#97, Unbox#98 Lt Bool 100 Test ← Compare#99 → block 12, block 15 1 0 Block 12 101 Unbox Phi#88 to Object (fallible) Object 102 Unbox Phi#92 to Int32 (fallible) Int32 103 GuardShape ← Unbox#101 Object 104 Elements ← GuardShape#103 Elements 105 InitializedLength ← Elements#104 Int32 106 BoundsCheck ← Unbox#102, InitializedLength#105 Int32 107 SpectreMaskIndex ← BoundsCheck#106, InitializedLength#105 Int32 108 GuardElementNotHole ← Elements#104, SpectreMaskIndex#107 109 Constant true Bool 110 Test ← Constant#109 → block 13, block 14 1 0 Block 13 111 Unbox Phi#88 to Object (fallible) Object 112 Unbox Phi#92 to Int32 (fallible) Int32 113 GuardShape ← Unbox#111 Object 114 Elements ← GuardShape#113 Elements 115 InitializedLength ← Elements#114 Int32 116 BoundsCheck ← Unbox#112, InitializedLength#115 Int32 117 SpectreMaskIndex ← BoundsCheck#116, InitializedLength#115 Int32 118 GuardElementsArePacked ← Elements#114 119 LoadElement ← Elements#114, SpectreMaskIndex#117 Value 120 Call ← Phi#87, Phi#90, LoadElement#119, Phi#92, Phi#88 Value 121 Unbox Phi#91 to Object (fallible) Object 122 Unbox Phi#92 to Int32 (fallible) Int32 123 GuardShape ← Unbox#121 Object 124 Elements ← GuardShape#123 Elements 125 StoreElementHole ← GuardShape#123, Elements#124, Unbox#122, Call#120 126 Goto → block 14 Block 14 (backedge) 127 Phi ← Call#120, Phi#93 Value 128 Unbox Phi#92 to Int32 (fallible) Int32 129 Constant 0x1 Int32 130 Add ← Unbox#128, Constant#129 [int32] Int32 131 Goto → block 11 Block 15 132 Return ← Phi#91
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c2e080 String 29 Bail 135 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 134 Unreachable Block 4 51 ArgumentsLength Int32 52 Constant 0x1 Int32 53 Compare ← ArgumentsLength#51, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 55 Constant 0x1 Int32 56 GetFrameArgument ← Constant#55 Value 57 Goto → block 7 Block 6 58 Constant undefined Undefined 59 Goto → block 7 Block 7 60 Phi ← Constant#58, GetFrameArgument#56 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 DebugCheckSelfHosted ← Constant#61 Value 63 Constant undefined Undefined 64 Constant 0x1 Int32 65 HasShape ← Unbox#9 Bool 66 Test ← HasShape#65 → block 8, block 9 1 0 Block 8 67 Constant function std_Array at 104289c6c820 Object 68 DebugCheckSelfHosted ← Constant#67 Value 69 Constant undefined Undefined 70 Constant 0x1 Int32 71 Unbox DebugCheckSelfHosted#68 to Object (fallible) Object 72 Constant function std_Array at 104289c6c820 Object 73 GuardSpecificFunction ← Unbox#71, Constant#72 Object 74 NewArrayDynamicLength ← MinMax#18 Object 75 Goto → block 10 Block 9 76 CallGetIntrinsicValue Value 77 DebugCheckSelfHosted ← CallGetIntrinsicValue#76 Value 78 Constant undefined Undefined 79 Bail 133 Unreachable Block 10 82 Phi ← NewArrayDynamicLength#74 Value 83 Constant 0x0 Int32 95 Goto → block 11 Block 11 (loop header) 84 Phi ← Constant#2, Constant#2 Value 85 Phi ← Constant#2, Constant#2 Value 86 Phi ← Parameter#0, Parameter#0 Value 87 Phi ← Parameter#1, Parameter#1 Value 88 Phi ← Unbox#9, Unbox#9 Value 89 Phi ← MinMax#18, MinMax#18 Value 90 Phi ← Phi#60, Phi#60 Value 91 Phi ← Phi#82, Phi#82 Value 92 Phi ← Constant#83, Add#130 Value 93 Phi ← Constant#2, Phi#127 Value 94 Phi ← Parameter#0, Parameter#0 Value 96 InterruptCheck 97 Unbox Phi#92 to Int32 (fallible) Int32 98 Unbox Phi#89 to Int32 (fallible) Int32 99 Compare ← Unbox#97, Unbox#98 Lt Bool 100 Test ← Compare#99 → block 12, block 15 1 0 Block 12 101 Unbox Phi#88 to Object (fallible) Object 102 Unbox Phi#92 to Int32 (fallible) Int32 103 GuardShape ← Unbox#101 Object 104 Elements ← GuardShape#103 Elements 105 InitializedLength ← Elements#104 Int32 106 BoundsCheck ← Unbox#102, InitializedLength#105 Int32 107 SpectreMaskIndex ← BoundsCheck#106, InitializedLength#105 Int32 108 GuardElementNotHole ← Elements#104, SpectreMaskIndex#107 109 Constant true Bool 110 Test ← Constant#109 → block 13, block 14 1 0 Block 13 111 Unbox Phi#88 to Object (fallible) Object 112 Unbox Phi#92 to Int32 (fallible) Int32 113 GuardShape ← Unbox#111 Object 114 Elements ← GuardShape#113 Elements 115 InitializedLength ← Elements#114 Int32 116 BoundsCheck ← Unbox#112, InitializedLength#115 Int32 117 SpectreMaskIndex ← BoundsCheck#116, InitializedLength#115 Int32 118 GuardElementsArePacked ← Elements#114 119 LoadElement ← Elements#114, SpectreMaskIndex#117 Value 120 Call ← Phi#87, Phi#90, LoadElement#119, Phi#92, Phi#88 Value 121 Unbox Phi#91 to Object (fallible) Object 122 Unbox Phi#92 to Int32 (fallible) Int32 123 GuardShape ← Unbox#121 Object 124 Elements ← GuardShape#123 Elements 125 StoreElementHole ← GuardShape#123, Elements#124, Unbox#122, Call#120 126 Goto → block 14 Block 14 (backedge) 127 Phi ← Call#120, Phi#93 Value 128 Unbox Phi#92 to Int32 (fallible) Int32 129 Constant 0x1 Int32 130 Add ← Unbox#128, Constant#129 [int32] Int32 131 Goto → block 11 Block 15 132 Return ← Phi#91
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c2e080 String 29 Bail 135 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 134 Unreachable Block 4 51 ArgumentsLength Int32 52 Constant 0x1 Int32 53 Compare ← ArgumentsLength#51, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 55 Constant 0x1 Int32 56 GetFrameArgument ← Constant#55 Value 57 Goto → block 7 Block 6 58 Constant undefined Undefined 59 Goto → block 7 Block 7 60 Phi ← Constant#58, GetFrameArgument#56 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 DebugCheckSelfHosted ← Constant#61 Value 63 Constant undefined Undefined 64 Constant 0x1 Int32 65 HasShape ← Unbox#9 Bool 66 Test ← HasShape#65 → block 8, block 9 1 0 Block 8 67 Constant function std_Array at 104289c6c820 Object 68 DebugCheckSelfHosted ← Constant#67 Value 69 Constant undefined Undefined 70 Constant 0x1 Int32 71 Unbox DebugCheckSelfHosted#68 to Object (fallible) Object 72 Constant function std_Array at 104289c6c820 Object 73 GuardSpecificFunction ← Unbox#71, Constant#72 Object 74 NewArrayDynamicLength ← MinMax#18 Object 75 Goto → block 10 Block 9 76 CallGetIntrinsicValue Value 77 DebugCheckSelfHosted ← CallGetIntrinsicValue#76 Value 78 Constant undefined Undefined 79 Bail 133 Unreachable Block 10 82 Phi ← NewArrayDynamicLength#74 Value 83 Constant 0x0 Int32 95 Goto → block 11 Block 11 (loop header) 84 Phi ← Constant#2, Constant#2 Value 85 Phi ← Constant#2, Constant#2 Value 86 Phi ← Parameter#0, Parameter#0 Value 87 Phi ← Parameter#1, Parameter#1 Value 88 Phi ← Unbox#9, Unbox#9 Value 89 Phi ← MinMax#18, MinMax#18 Value 90 Phi ← Phi#60, Phi#60 Value 91 Phi ← Phi#82, Phi#82 Value 92 Phi ← Constant#83, Add#130 Value 93 Phi ← Constant#2, Phi#127 Value 94 Phi ← Parameter#0, Parameter#0 Value 96 InterruptCheck 97 Unbox Phi#92 to Int32 (fallible) Int32 98 Unbox Phi#89 to Int32 (fallible) Int32 99 Compare ← Unbox#97, Unbox#98 Lt Bool 100 Test ← Compare#99 → block 12, block 15 1 0 Block 12 101 Unbox Phi#88 to Object (fallible) Object 102 Unbox Phi#92 to Int32 (fallible) Int32 103 GuardShape ← Unbox#101 Object 104 Elements ← GuardShape#103 Elements 105 InitializedLength ← Elements#104 Int32 106 BoundsCheck ← Unbox#102, InitializedLength#105 Int32 107 SpectreMaskIndex ← BoundsCheck#106, InitializedLength#105 Int32 108 GuardElementNotHole ← Elements#104, SpectreMaskIndex#107 109 Constant true Bool 110 Test ← Constant#109 → block 13, block 14 1 0 Block 13 111 Unbox Phi#88 to Object (fallible) Object 112 Unbox Phi#92 to Int32 (fallible) Int32 113 GuardShape ← Unbox#111 Object 114 Elements ← GuardShape#113 Elements 115 InitializedLength ← Elements#114 Int32 116 BoundsCheck ← Unbox#112, InitializedLength#115 Int32 117 SpectreMaskIndex ← BoundsCheck#116, InitializedLength#115 Int32 118 GuardElementsArePacked ← Elements#114 119 LoadElement ← Elements#114, SpectreMaskIndex#117 Value 120 Call ← Phi#87, Phi#90, LoadElement#119, Phi#92, Phi#88 Value 121 Unbox Phi#91 to Object (fallible) Object 122 Unbox Phi#92 to Int32 (fallible) Int32 123 GuardShape ← Unbox#121 Object 124 Elements ← GuardShape#123 Elements 125 StoreElementHole ← GuardShape#123, Elements#124, Unbox#122, Call#120 126 Goto → block 14 Block 14 (backedge) 127 Phi ← Call#120, Phi#93 Value 128 Unbox Phi#92 to Int32 (fallible) Int32 129 Constant 0x1 Int32 130 Add ← Unbox#128, Constant#129 [int32] Int32 131 Goto → block 11 Block 15 132 Return ← Phi#91
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c2e080 String 29 Bail 135 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 134 Unreachable Block 4 51 ArgumentsLength Int32 52 Constant 0x1 Int32 53 Compare ← ArgumentsLength#51, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 55 Constant 0x1 Int32 56 GetFrameArgument ← Constant#55 Value 57 Goto → block 7 Block 6 58 Constant undefined Undefined 59 Goto → block 7 Block 7 60 Phi ← Constant#58, GetFrameArgument#56 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 DebugCheckSelfHosted ← Constant#61 Value 63 Constant undefined Undefined 64 Constant 0x1 Int32 65 HasShape ← Unbox#9 Bool 66 Test ← HasShape#65 → block 8, block 9 1 0 Block 8 67 Constant function std_Array at 104289c6c820 Object 68 DebugCheckSelfHosted ← Constant#67 Value 69 Constant undefined Undefined 70 Constant 0x1 Int32 71 Unbox DebugCheckSelfHosted#68 to Object (fallible) Object 72 Constant function std_Array at 104289c6c820 Object 73 GuardSpecificFunction ← Unbox#71, Constant#72 Object 74 NewArrayDynamicLength ← MinMax#18 Object 75 Goto → block 10 Block 9 76 CallGetIntrinsicValue Value 77 DebugCheckSelfHosted ← CallGetIntrinsicValue#76 Value 78 Constant undefined Undefined 79 Bail 133 Unreachable Block 10 82 Phi ← NewArrayDynamicLength#74 Value 83 Constant 0x0 Int32 95 Goto → block 11 Block 11 (loop header) 84 Phi ← Constant#2, Constant#2 Value 85 Phi ← Constant#2, Constant#2 Value 86 Phi ← Parameter#0, Parameter#0 Value 87 Phi ← Parameter#1, Parameter#1 Value 88 Phi ← Unbox#9, Unbox#9 Value 89 Phi ← MinMax#18, MinMax#18 Value 90 Phi ← Phi#60, Phi#60 Value 91 Phi ← Phi#82, Phi#82 Value 92 Phi ← Constant#83, Add#130 Value 93 Phi ← Constant#2, Phi#127 Value 94 Phi ← Parameter#0, Parameter#0 Value 96 InterruptCheck 97 Unbox Phi#92 to Int32 (fallible) Int32 98 Unbox Phi#89 to Int32 (fallible) Int32 99 Compare ← Unbox#97, Unbox#98 Lt Bool 100 Test ← Compare#99 → block 12, block 15 1 0 Block 12 101 Unbox Phi#88 to Object (fallible) Object 102 Unbox Phi#92 to Int32 (fallible) Int32 103 GuardShape ← Unbox#101 Object 104 Elements ← GuardShape#103 Elements 105 InitializedLength ← Elements#104 Int32 106 BoundsCheck ← Unbox#102, InitializedLength#105 Int32 107 SpectreMaskIndex ← BoundsCheck#106, InitializedLength#105 Int32 108 GuardElementNotHole ← Elements#104, SpectreMaskIndex#107 109 Constant true Bool 110 Test ← Constant#109 → block 13, block 16 1 0 Block 16 (split edge) 136 Goto → block 14 Block 13 111 Unbox Phi#88 to Object (fallible) Object 112 Unbox Phi#92 to Int32 (fallible) Int32 113 GuardShape ← Unbox#111 Object 114 Elements ← GuardShape#113 Elements 115 InitializedLength ← Elements#114 Int32 116 BoundsCheck ← Unbox#112, InitializedLength#115 Int32 117 SpectreMaskIndex ← BoundsCheck#116, InitializedLength#115 Int32 118 GuardElementsArePacked ← Elements#114 119 LoadElement ← Elements#114, SpectreMaskIndex#117 Value 120 Call ← Phi#87, Phi#90, LoadElement#119, Phi#92, Phi#88 Value 121 Unbox Phi#91 to Object (fallible) Object 122 Unbox Phi#92 to Int32 (fallible) Int32 123 GuardShape ← Unbox#121 Object 124 Elements ← GuardShape#123 Elements 125 StoreElementHole ← GuardShape#123, Elements#124, Unbox#122, Call#120 126 Goto → block 14 Block 14 (backedge) 127 Phi ← Call#120, Phi#93 Value 128 Unbox Phi#92 to Int32 (fallible) Int32 129 Constant 0x1 Int32 130 Add ← Unbox#128, Constant#129 [int32] Int32 131 Goto → block 11 Block 15 132 Return ← Phi#91
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c2e080 String 29 Bail 135 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 134 Unreachable Block 4 51 ArgumentsLength Int32 52 Constant 0x1 Int32 53 Compare ← ArgumentsLength#51, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 55 Constant 0x1 Int32 56 GetFrameArgument ← Constant#55 Value 57 Goto → block 7 Block 6 58 Constant undefined Undefined 59 Goto → block 7 Block 7 60 Phi ← Constant#58, GetFrameArgument#56 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 DebugCheckSelfHosted ← Constant#61 Value 63 Constant undefined Undefined 64 Constant 0x1 Int32 65 HasShape ← Unbox#9 Bool 66 Test ← HasShape#65 → block 8, block 9 1 0 Block 8 67 Constant function std_Array at 104289c6c820 Object 68 DebugCheckSelfHosted ← Constant#67 Value 69 Constant undefined Undefined 70 Constant 0x1 Int32 71 Unbox DebugCheckSelfHosted#68 to Object (fallible) Object 72 Constant function std_Array at 104289c6c820 Object 73 GuardSpecificFunction ← Unbox#71, Constant#72 Object 74 NewArrayDynamicLength ← MinMax#18 Object 75 Goto → block 10 Block 9 76 CallGetIntrinsicValue Value 77 DebugCheckSelfHosted ← CallGetIntrinsicValue#76 Value 78 Constant undefined Undefined 79 Bail 133 Unreachable Block 10 82 Phi ← NewArrayDynamicLength#74 Value 83 Constant 0x0 Int32 95 Goto → block 11 Block 11 (loop header) 84 Phi ← Constant#2, Constant#2 Value 85 Phi ← Constant#2, Constant#2 Value 86 Phi ← Parameter#0, Parameter#0 Value 87 Phi ← Parameter#1, Parameter#1 Value 88 Phi ← Unbox#9, Unbox#9 Value 89 Phi ← MinMax#18, MinMax#18 Value 90 Phi ← Phi#60, Phi#60 Value 91 Phi ← Phi#82, Phi#82 Value 92 Phi ← Constant#83, Add#130 Value 93 Phi ← Constant#2, Phi#127 Value 94 Phi ← Parameter#0, Parameter#0 Value 96 InterruptCheck 97 Unbox Phi#92 to Int32 (fallible) Int32 98 Unbox Phi#89 to Int32 (fallible) Int32 99 Compare ← Unbox#97, Unbox#98 Lt Bool 100 Test ← Compare#99 → block 12, block 16 1 0 Block 12 101 Unbox Phi#88 to Object (fallible) Object 102 Unbox Phi#92 to Int32 (fallible) Int32 103 GuardShape ← Unbox#101 Object 104 Elements ← GuardShape#103 Elements 105 InitializedLength ← Elements#104 Int32 106 BoundsCheck ← Unbox#102, InitializedLength#105 Int32 107 SpectreMaskIndex ← BoundsCheck#106, InitializedLength#105 Int32 108 GuardElementNotHole ← Elements#104, SpectreMaskIndex#107 109 Constant true Bool 110 Test ← Constant#109 → block 14, block 13 1 0 Block 13 (split edge) 136 Goto → block 15 Block 14 111 Unbox Phi#88 to Object (fallible) Object 112 Unbox Phi#92 to Int32 (fallible) Int32 113 GuardShape ← Unbox#111 Object 114 Elements ← GuardShape#113 Elements 115 InitializedLength ← Elements#114 Int32 116 BoundsCheck ← Unbox#112, InitializedLength#115 Int32 117 SpectreMaskIndex ← BoundsCheck#116, InitializedLength#115 Int32 118 GuardElementsArePacked ← Elements#114 119 LoadElement ← Elements#114, SpectreMaskIndex#117 Value 120 Call ← Phi#87, Phi#90, LoadElement#119, Phi#92, Phi#88 Value 121 Unbox Phi#91 to Object (fallible) Object 122 Unbox Phi#92 to Int32 (fallible) Int32 123 GuardShape ← Unbox#121 Object 124 Elements ← GuardShape#123 Elements 125 StoreElementHole ← GuardShape#123, Elements#124, Unbox#122, Call#120 126 Goto → block 15 Block 15 (backedge) 127 Phi ← Call#120, Phi#93 Value 128 Unbox Phi#92 to Int32 (fallible) Int32 129 Constant 0x1 Int32 130 Add ← Unbox#128, Constant#129 [int32] Int32 131 Goto → block 11 Block 16 132 Return ← Phi#91
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c2e080 String 29 Bail 135 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 134 Unreachable Block 4 51 ArgumentsLength Int32 52 Constant 0x1 Int32 53 Compare ← ArgumentsLength#51, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 55 Constant 0x1 Int32 56 GetFrameArgument ← Constant#55 Value 57 Goto → block 7 Block 6 58 Constant undefined Undefined 59 Goto → block 7 Block 7 60 Phi ← Constant#58, GetFrameArgument#56 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 DebugCheckSelfHosted ← Constant#61 Value 63 Constant undefined Undefined 64 Constant 0x1 Int32 65 HasShape ← Unbox#9 Bool 66 Test ← HasShape#65 → block 8, block 9 1 0 Block 8 67 Constant function std_Array at 104289c6c820 Object 68 DebugCheckSelfHosted ← Constant#67 Value 69 Constant undefined Undefined 70 Constant 0x1 Int32 71 Unbox DebugCheckSelfHosted#68 to Object (fallible) Object 72 Constant function std_Array at 104289c6c820 Object 73 GuardSpecificFunction ← Unbox#71, Constant#72 Object 74 NewArrayDynamicLength ← MinMax#18 Object 75 Goto → block 10 Block 9 76 CallGetIntrinsicValue Value 77 DebugCheckSelfHosted ← CallGetIntrinsicValue#76 Value 78 Constant undefined Undefined 79 Bail 133 Unreachable Block 10 83 Constant 0x0 Int32 95 Goto → block 11 Block 11 (loop header) 92 Phi ← Constant#83, Add#130 Value 137 Constant magic optimized-out MagicOptimizedOut 96 InterruptCheck 97 Unbox Phi#92 to Int32 (fallible) Int32 98 Unbox MinMax#18 to Int32 (fallible) Int32 99 Compare ← Unbox#97, Unbox#98 Lt Bool 100 Test ← Compare#99 → block 12, block 16 1 0 Block 12 142 Constant magic optimized-out MagicOptimizedOut 101 Unbox Unbox#9 to Object (fallible) Object 102 Unbox Phi#92 to Int32 (fallible) Int32 103 GuardShape ← Unbox#101 Object 104 Elements ← GuardShape#103 Elements 105 InitializedLength ← Elements#104 Int32 106 BoundsCheck ← Unbox#102, InitializedLength#105 Int32 107 SpectreMaskIndex ← BoundsCheck#106, InitializedLength#105 Int32 108 GuardElementNotHole ← Elements#104, SpectreMaskIndex#107 109 Constant true Bool 110 Test ← Constant#109 → block 14, block 13 1 0 Block 13 (split edge) 139 Constant magic optimized-out MagicOptimizedOut 136 Goto → block 15 Block 14 141 Constant magic optimized-out MagicOptimizedOut 111 Unbox Unbox#9 to Object (fallible) Object 112 Unbox Phi#92 to Int32 (fallible) Int32 113 GuardShape ← Unbox#111 Object 114 Elements ← GuardShape#113 Elements 115 InitializedLength ← Elements#114 Int32 116 BoundsCheck ← Unbox#112, InitializedLength#115 Int32 117 SpectreMaskIndex ← BoundsCheck#116, InitializedLength#115 Int32 118 GuardElementsArePacked ← Elements#114 119 LoadElement ← Elements#114, SpectreMaskIndex#117 Value 120 Call ← Parameter#1, Phi#60, LoadElement#119, Phi#92, Unbox#9 Value 121 Unbox NewArrayDynamicLength#74 to Object (fallible) Object 122 Unbox Phi#92 to Int32 (fallible) Int32 123 GuardShape ← Unbox#121 Object 124 Elements ← GuardShape#123 Elements 125 StoreElementHole ← GuardShape#123, Elements#124, Unbox#122, Call#120 126 Goto → block 15 Block 15 (backedge) 138 Constant magic optimized-out MagicOptimizedOut 128 Unbox Phi#92 to Int32 (fallible) Int32 129 Constant 0x1 Int32 130 Add ← Unbox#128, Constant#129 [int32] Int32 131 Goto → block 11 Block 16 140 Constant magic optimized-out MagicOptimizedOut 132 Return ← NewArrayDynamicLength#74
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c2e080 String 29 Bail 135 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 134 Unreachable Block 4 51 ArgumentsLength Int32 52 Constant 0x1 Int32 53 Compare ← ArgumentsLength#51, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 55 Constant 0x1 Int32 56 GetFrameArgument ← Constant#55 Value 57 Goto → block 7 Block 6 58 Constant undefined Undefined 59 Goto → block 7 Block 7 60 Phi ← Constant#58, GetFrameArgument#56 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 DebugCheckSelfHosted ← Constant#61 Value 63 Constant undefined Undefined 64 Constant 0x1 Int32 65 HasShape ← Unbox#9 Bool 66 Test ← HasShape#65 → block 8, block 9 1 0 Block 8 67 Constant function std_Array at 104289c6c820 Object 68 DebugCheckSelfHosted ← Constant#67 Value 69 Constant undefined Undefined 70 Constant 0x1 Int32 71 Unbox DebugCheckSelfHosted#68 to Object (fallible) Object 72 Constant function std_Array at 104289c6c820 Object 73 GuardSpecificFunction ← Unbox#71, Constant#72 Object 74 NewArrayDynamicLength ← MinMax#18 Object 75 Goto → block 10 Block 9 76 CallGetIntrinsicValue Value 77 DebugCheckSelfHosted ← CallGetIntrinsicValue#76 Value 78 Constant undefined Undefined 79 Bail 133 Unreachable Block 10 83 Constant 0x0 Int32 95 Goto → block 11 Block 11 (loop header) 92 Phi ← Constant#83, Add#130 Value 137 Constant magic optimized-out MagicOptimizedOut 96 InterruptCheck 97 Unbox Phi#92 to Int32 (fallible) Int32 98 Unbox MinMax#18 to Int32 (fallible) Int32 99 Compare ← Unbox#97, Unbox#98 Lt Bool 100 Test ← Compare#99 → block 12, block 16 1 0 Block 12 142 Constant magic optimized-out MagicOptimizedOut 101 Unbox Unbox#9 to Object (fallible) Object 102 Unbox Phi#92 to Int32 (fallible) Int32 103 GuardShape ← Unbox#101 Object 104 Elements ← GuardShape#103 Elements 105 InitializedLength ← Elements#104 Int32 106 BoundsCheck ← Unbox#102, InitializedLength#105 Int32 107 SpectreMaskIndex ← BoundsCheck#106, InitializedLength#105 Int32 108 GuardElementNotHole ← Elements#104, SpectreMaskIndex#107 109 Constant true Bool 110 Test ← Constant#109 → block 14, block 13 1 0 Block 13 (split edge) 139 Constant magic optimized-out MagicOptimizedOut 136 Goto → block 15 Block 14 141 Constant magic optimized-out MagicOptimizedOut 111 Unbox Unbox#9 to Object (fallible) Object 112 Unbox Phi#92 to Int32 (fallible) Int32 113 GuardShape ← Unbox#111 Object 114 Elements ← GuardShape#113 Elements 115 InitializedLength ← Elements#114 Int32 116 BoundsCheck ← Unbox#112, InitializedLength#115 Int32 117 SpectreMaskIndex ← BoundsCheck#116, InitializedLength#115 Int32 118 GuardElementsArePacked ← Elements#114 119 LoadElement ← Elements#114, SpectreMaskIndex#117 Value 120 Call ← Parameter#1, Phi#60, LoadElement#119, Phi#92, Unbox#9 Value 121 Unbox NewArrayDynamicLength#74 to Object (fallible) Object 122 Unbox Phi#92 to Int32 (fallible) Int32 123 GuardShape ← Unbox#121 Object 124 Elements ← GuardShape#123 Elements 125 StoreElementHole ← GuardShape#123, Elements#124, Unbox#122, Call#120 126 Goto → block 15 Block 15 (backedge) 138 Constant magic optimized-out MagicOptimizedOut 128 Unbox Phi#92 to Int32 (fallible) Int32 129 Constant 0x1 Int32 130 Add ← Unbox#128, Constant#129 [int32] Int32 131 Goto → block 11 Block 16 140 Constant magic optimized-out MagicOptimizedOut 132 Return ← NewArrayDynamicLength#74
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c2e080 String 29 Bail 135 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 134 Unreachable Block 4 51 ArgumentsLength Int32 52 Constant 0x1 Int32 53 Compare ← ArgumentsLength#51, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 55 Constant 0x1 Int32 56 GetFrameArgument ← Constant#55 Value 57 Goto → block 7 Block 6 58 Constant undefined Undefined 59 Goto → block 7 Block 7 60 Phi ← Constant#58, GetFrameArgument#56 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 DebugCheckSelfHosted ← Constant#61 Value 63 Constant undefined Undefined 64 Constant 0x1 Int32 65 HasShape ← Unbox#9 Bool 66 Test ← HasShape#65 → block 8, block 9 1 0 Block 8 67 Constant function std_Array at 104289c6c820 Object 68 DebugCheckSelfHosted ← Constant#67 Value 69 Constant undefined Undefined 70 Constant 0x1 Int32 71 Unbox DebugCheckSelfHosted#68 to Object (fallible) Object 72 Constant function std_Array at 104289c6c820 Object 73 GuardSpecificFunction ← Unbox#71, Constant#72 Object 74 NewArrayDynamicLength ← MinMax#18 Object 75 Goto → block 10 Block 9 76 CallGetIntrinsicValue Value 77 DebugCheckSelfHosted ← CallGetIntrinsicValue#76 Value 78 Constant undefined Undefined 79 Bail 133 Unreachable Block 10 83 Constant 0x0 Int32 95 Goto → block 11 Block 11 (loop header) 92 Phi ← Constant#83, Add#130 Value 137 Constant magic optimized-out MagicOptimizedOut 96 InterruptCheck 97 Unbox Phi#92 to Int32 (fallible) Int32 98 Unbox MinMax#18 to Int32 (fallible) Int32 99 Compare ← Unbox#97, Unbox#98 Lt Bool 100 Test ← Compare#99 → block 12, block 16 1 0 Block 12 142 Constant magic optimized-out MagicOptimizedOut 101 Unbox Unbox#9 to Object (fallible) Object 102 Unbox Phi#92 to Int32 (fallible) Int32 103 GuardShape ← Unbox#101 Object 104 Elements ← GuardShape#103 Elements 105 InitializedLength ← Elements#104 Int32 106 BoundsCheck ← Unbox#102, InitializedLength#105 Int32 107 SpectreMaskIndex ← BoundsCheck#106, InitializedLength#105 Int32 108 GuardElementNotHole ← Elements#104, SpectreMaskIndex#107 109 Constant true Bool 110 Test ← Constant#109 → block 14, block 13 1 0 Block 13 (split edge) 139 Constant magic optimized-out MagicOptimizedOut 136 Goto → block 15 Block 14 141 Constant magic optimized-out MagicOptimizedOut 111 Unbox Unbox#9 to Object (fallible) Object 112 Unbox Phi#92 to Int32 (fallible) Int32 113 GuardShape ← Unbox#111 Object 114 Elements ← GuardShape#113 Elements 115 InitializedLength ← Elements#114 Int32 116 BoundsCheck ← Unbox#112, InitializedLength#115 Int32 117 SpectreMaskIndex ← BoundsCheck#116, InitializedLength#115 Int32 118 GuardElementsArePacked ← Elements#114 119 LoadElement ← Elements#114, SpectreMaskIndex#117 Value 120 Call ← Parameter#1, Phi#60, LoadElement#119, Phi#92, Unbox#9 Value 121 Unbox NewArrayDynamicLength#74 to Object (fallible) Object 122 Unbox Phi#92 to Int32 (fallible) Int32 123 GuardShape ← Unbox#121 Object 124 Elements ← GuardShape#123 Elements 125 StoreElementHole ← GuardShape#123, Elements#124, Unbox#122, Call#120 126 Goto → block 15 Block 15 (backedge) 138 Constant magic optimized-out MagicOptimizedOut 128 Unbox Phi#92 to Int32 (fallible) Int32 129 Constant 0x1 Int32 130 Add ← Unbox#128, Constant#129 [int32] Int32 131 Goto → block 11 Block 16 140 Constant magic optimized-out MagicOptimizedOut 132 Return ← NewArrayDynamicLength#74
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c2e080 String 29 Bail 135 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 134 Unreachable Block 4 51 ArgumentsLength Int32 52 Constant 0x1 Int32 53 Compare ← ArgumentsLength#51, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 55 Constant 0x1 Int32 56 GetFrameArgument ← Constant#55 Value 57 Goto → block 7 Block 6 58 Constant undefined Undefined 59 Goto → block 7 Block 7 60 Phi ← Constant#58, GetFrameArgument#56 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 DebugCheckSelfHosted ← Constant#61 Value 63 Constant undefined Undefined 64 Constant 0x1 Int32 65 HasShape ← Unbox#9 Bool 66 Test ← HasShape#65 → block 8, block 9 1 0 Block 8 67 Constant function std_Array at 104289c6c820 Object 68 DebugCheckSelfHosted ← Constant#67 Value 69 Constant undefined Undefined 70 Constant 0x1 Int32 71 Unbox DebugCheckSelfHosted#68 to Object (fallible) Object 72 Constant function std_Array at 104289c6c820 Object 73 GuardSpecificFunction ← Unbox#71, Constant#72 Object 74 NewArrayDynamicLength ← MinMax#18 Object 75 Goto → block 10 Block 9 76 CallGetIntrinsicValue Value 77 DebugCheckSelfHosted ← CallGetIntrinsicValue#76 Value 78 Constant undefined Undefined 79 Bail 133 Unreachable Block 10 83 Constant 0x0 Int32 95 Goto → block 11 Block 11 (loop header) 92 Phi ← Constant#83, Add#130 Value 137 Constant magic optimized-out MagicOptimizedOut 96 InterruptCheck 97 Unbox Phi#92 to Int32 (fallible) Int32 98 Unbox MinMax#18 to Int32 (fallible) Int32 99 Compare ← Unbox#97, Unbox#98 Lt Bool 100 Test ← Compare#99 → block 12, block 16 1 0 Block 12 142 Constant magic optimized-out MagicOptimizedOut 101 Unbox Unbox#9 to Object (fallible) Object 102 Unbox Phi#92 to Int32 (fallible) Int32 103 GuardShape ← Unbox#101 Object 104 Elements ← GuardShape#103 Elements 105 InitializedLength ← Elements#104 Int32 106 BoundsCheck ← Unbox#102, InitializedLength#105 Int32 107 SpectreMaskIndex ← BoundsCheck#106, InitializedLength#105 Int32 108 GuardElementNotHole ← Elements#104, SpectreMaskIndex#107 109 Constant true Bool 110 Test ← Constant#109 → block 14, block 13 1 0 Block 13 (split edge) 139 Constant magic optimized-out MagicOptimizedOut 136 Goto → block 15 Block 14 141 Constant magic optimized-out MagicOptimizedOut 111 Unbox Unbox#9 to Object (fallible) Object 112 Unbox Phi#92 to Int32 (fallible) Int32 113 GuardShape ← Unbox#111 Object 114 Elements ← GuardShape#113 Elements 115 InitializedLength ← Elements#114 Int32 116 BoundsCheck ← Unbox#112, InitializedLength#115 Int32 117 SpectreMaskIndex ← BoundsCheck#116, InitializedLength#115 Int32 118 GuardElementsArePacked ← Elements#114 119 LoadElement ← Elements#114, SpectreMaskIndex#117 Value 120 Call ← Parameter#1, Phi#60, LoadElement#119, Phi#92, Unbox#9 Value 121 Unbox NewArrayDynamicLength#74 to Object (fallible) Object 122 Unbox Phi#92 to Int32 (fallible) Int32 123 GuardShape ← Unbox#121 Object 124 Elements ← GuardShape#123 Elements 125 StoreElementHole ← GuardShape#123, Elements#124, Unbox#122, Call#120 126 Goto → block 15 Block 15 (backedge) 138 Constant magic optimized-out MagicOptimizedOut 128 Unbox Phi#92 to Int32 (fallible) Int32 129 Constant 0x1 Int32 130 Add ← Unbox#128, Constant#129 [int32] Int32 131 Goto → block 11 Block 16 140 Constant magic optimized-out MagicOptimizedOut 132 Return ← NewArrayDynamicLength#74
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 143 Box ← Constant#5 Value 6 DebugCheckSelfHosted ← Box#143 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 144 Box ← Constant#10 Value 11 DebugCheckSelfHosted ← Box#144 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c2e080 String 29 Bail 135 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 145 Box ← Constant#32 Value 33 DebugCheckSelfHosted ← Box#145 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 134 Unreachable Block 4 51 ArgumentsLength Int32 52 Constant 0x1 Int32 53 Compare ← ArgumentsLength#51, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 55 Constant 0x1 Int32 56 GetFrameArgument ← Constant#55 Value 57 Goto → block 7 Block 6 58 Constant undefined Undefined 146 Box ← Constant#58 Value 59 Goto → block 7 Block 7 60 Phi ← Box#146, GetFrameArgument#56 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 147 Box ← Constant#61 Value 62 DebugCheckSelfHosted ← Box#147 Value 63 Constant undefined Undefined 64 Constant 0x1 Int32 65 HasShape ← Unbox#9 Bool 66 Test ← HasShape#65 → block 8, block 9 1 0 Block 8 67 Constant function std_Array at 104289c6c820 Object 148 Box ← Constant#67 Value 68 DebugCheckSelfHosted ← Box#148 Value 69 Constant undefined Undefined 70 Constant 0x1 Int32 71 Unbox DebugCheckSelfHosted#68 to Object (fallible) Object 72 Constant function std_Array at 104289c6c820 Object 73 GuardSpecificFunction ← Unbox#71, Constant#72 Object 74 NewArrayDynamicLength ← MinMax#18 Object 75 Goto → block 10 Block 9 76 CallGetIntrinsicValue Value 77 DebugCheckSelfHosted ← CallGetIntrinsicValue#76 Value 78 Constant undefined Undefined 79 Bail 133 Unreachable Block 10 83 Constant 0x0 Int32 95 Goto → block 11 Block 11 (loop header) 92 Phi ← Constant#83, Add#130 Int32 137 Constant magic optimized-out MagicOptimizedOut 96 InterruptCheck 149 Box ← Phi#92 Value 97 Unbox Box#149 to Int32 (fallible) Int32 150 Box ← MinMax#18 Value 98 Unbox Box#150 to Int32 (fallible) Int32 99 Compare ← Unbox#97, Unbox#98 Lt Bool 100 Test ← Compare#99 → block 12, block 16 1 0 Block 12 142 Constant magic optimized-out MagicOptimizedOut 151 Box ← Unbox#9 Value 101 Unbox Box#151 to Object (fallible) Object 152 Box ← Phi#92 Value 102 Unbox Box#152 to Int32 (fallible) Int32 103 GuardShape ← Unbox#101 Object 104 Elements ← GuardShape#103 Elements 105 InitializedLength ← Elements#104 Int32 106 BoundsCheck ← Unbox#102, InitializedLength#105 Int32 107 SpectreMaskIndex ← BoundsCheck#106, InitializedLength#105 Int32 108 GuardElementNotHole ← Elements#104, SpectreMaskIndex#107 109 Constant true Bool 110 Test ← Constant#109 → block 14, block 13 1 0 Block 13 (split edge) 139 Constant magic optimized-out MagicOptimizedOut 136 Goto → block 15 Block 14 141 Constant magic optimized-out MagicOptimizedOut 153 Box ← Unbox#9 Value 111 Unbox Box#153 to Object (fallible) Object 154 Box ← Phi#92 Value 112 Unbox Box#154 to Int32 (fallible) Int32 113 GuardShape ← Unbox#111 Object 114 Elements ← GuardShape#113 Elements 115 InitializedLength ← Elements#114 Int32 116 BoundsCheck ← Unbox#112, InitializedLength#115 Int32 117 SpectreMaskIndex ← BoundsCheck#116, InitializedLength#115 Int32 118 GuardElementsArePacked ← Elements#114 119 LoadElement ← Elements#114, SpectreMaskIndex#117 Value 155 Unbox Parameter#1 to Object (fallible) Object 120 Call ← Unbox#155, Phi#60, LoadElement#119, Phi#92, Unbox#9 Value 156 Box ← NewArrayDynamicLength#74 Value 121 Unbox Box#156 to Object (fallible) Object 157 Box ← Phi#92 Value 122 Unbox Box#157 to Int32 (fallible) Int32 123 GuardShape ← Unbox#121 Object 124 Elements ← GuardShape#123 Elements 125 StoreElementHole ← GuardShape#123, Elements#124, Unbox#122, Call#120 126 Goto → block 15 Block 15 (backedge) 138 Constant magic optimized-out MagicOptimizedOut 158 Box ← Phi#92 Value 128 Unbox Box#158 to Int32 (fallible) Int32 129 Constant 0x1 Int32 130 Add ← Unbox#128, Constant#129 [int32] Int32 131 Goto → block 11 Block 16 140 Constant magic optimized-out MagicOptimizedOut 159 Box ← NewArrayDynamicLength#74 Value 132 Return ← Box#159
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Constant undefined Undefined 9 Constant 0x1 Int32 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 14 Constant undefined Undefined 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 Int32 18 Constant 0x1 Int32 19 Constant 0x0 Int32 20 MinMax ← ArrayLength#17, Constant#19 (max) Int32 21 ArgumentsLength Int32 22 Constant 0x0 Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 27 Constant undefined Undefined 28 Constant 0x37 Int32 29 Constant 0x0 Int32 30 Constant string 104289c2e080 String 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 36 Constant undefined Undefined 37 Constant 0x1 Int32 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 42 Constant undefined Undefined 43 Constant 0xc Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 46 Constant undefined Undefined 47 Constant 0x0 Int32 48 Bail 49 Unreachable Block 4 50 ArgumentsLength Int32 51 Constant 0x1 Int32 52 Compare ← ArgumentsLength#50, Constant#51 Gt Bool 53 Test ← Compare#52 → block 5, block 6 1 0 Block 5 54 Constant 0x1 Int32 55 GetFrameArgument ← Constant#54 Value 56 Goto → block 7 Block 6 57 Constant undefined Undefined 58 Box ← Constant#57 Value 59 Goto → block 7 Block 7 60 Phi ← Box#58, GetFrameArgument#55 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 Box ← Constant#61 Value 63 DebugCheckSelfHosted ← Box#62 Value 64 Constant undefined Undefined 65 Constant 0x1 Int32 66 HasShape ← Unbox#10 Bool 67 Test ← HasShape#66 → block 8, block 9 1 0 Block 8 68 Constant function std_Array at 104289c6c820 Object 69 Box ← Constant#68 Value 70 DebugCheckSelfHosted ← Box#69 Value 71 Constant undefined Undefined 72 Constant 0x1 Int32 73 Unbox DebugCheckSelfHosted#70 to Object (fallible) Object 74 Constant function std_Array at 104289c6c820 Object 75 GuardSpecificFunction ← Unbox#73, Constant#74 Object 76 NewArrayDynamicLength ← MinMax#20 Object 77 Goto → block 10 Block 9 78 CallGetIntrinsicValue Value 79 DebugCheckSelfHosted ← CallGetIntrinsicValue#78 Value 80 Constant undefined Undefined 81 Bail 82 Unreachable Block 10 83 Constant 0x0 Int32 84 Goto → block 11 Block 11 (loop header) 85 Phi ← Constant#83, Add#135 Int32 86 Constant magic optimized-out MagicOptimizedOut 87 InterruptCheck 88 Box ← Phi#85 Value 89 Unbox Box#88 to Int32 (fallible) Int32 90 Box ← MinMax#20 Value 91 Unbox Box#90 to Int32 (fallible) Int32 92 Compare ← Unbox#89, Unbox#91 Lt Bool 93 Test ← Compare#92 → block 12, block 16 1 0 Block 12 94 Constant magic optimized-out MagicOptimizedOut 95 Box ← Unbox#10 Value 96 Unbox Box#95 to Object (fallible) Object 97 Box ← Phi#85 Value 98 Unbox Box#97 to Int32 (fallible) Int32 99 GuardShape ← Unbox#96 Object 100 Elements ← GuardShape#99 Elements 101 InitializedLength ← Elements#100 Int32 102 BoundsCheck ← Unbox#98, InitializedLength#101 Int32 103 SpectreMaskIndex ← BoundsCheck#102, InitializedLength#101 Int32 104 GuardElementNotHole ← Elements#100, SpectreMaskIndex#103 105 Constant true Bool 106 Test ← Constant#105 → block 14, block 13 1 0 Block 13 (split edge) 107 Constant magic optimized-out MagicOptimizedOut 108 Goto → block 15 Block 14 109 Constant magic optimized-out MagicOptimizedOut 110 Box ← Unbox#10 Value 111 Unbox Box#110 to Object (fallible) Object 112 Box ← Phi#85 Value 113 Unbox Box#112 to Int32 (fallible) Int32 114 GuardShape ← Unbox#111 Object 115 Elements ← GuardShape#114 Elements 116 InitializedLength ← Elements#115 Int32 117 BoundsCheck ← Unbox#113, InitializedLength#116 Int32 118 SpectreMaskIndex ← BoundsCheck#117, InitializedLength#116 Int32 119 GuardElementsArePacked ← Elements#115 120 LoadElement ← Elements#115, SpectreMaskIndex#118 Value 121 Unbox Parameter#1 to Object (fallible) Object 122 Call ← Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10 Value 123 Box ← NewArrayDynamicLength#76 Value 124 Unbox Box#123 to Object (fallible) Object 125 Box ← Phi#85 Value 126 Unbox Box#125 to Int32 (fallible) Int32 127 GuardShape ← Unbox#124 Object 128 Elements ← GuardShape#127 Elements 129 StoreElementHole ← GuardShape#127, Elements#128, Unbox#126, Call#122 130 Goto → block 15 Block 15 (backedge) 131 Constant magic optimized-out MagicOptimizedOut 132 Box ← Phi#85 Value 133 Unbox Box#132 to Int32 (fallible) Int32 134 Constant 0x1 Int32 135 Add ← Unbox#133, Constant#134 [int32] Int32 136 Goto → block 11 Block 16 137 Constant magic optimized-out MagicOptimizedOut 138 Box ← NewArrayDynamicLength#76 Value 139 Return ← Box#138
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Constant undefined Undefined 9 Constant 0x1 Int32 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 14 Constant undefined Undefined 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 Int32 18 Constant 0x1 Int32 19 Constant 0x0 Int32 20 MinMax ← ArrayLength#17, Constant#19 (max) Int32 21 ArgumentsLength Int32 22 Constant 0x0 Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 27 Constant undefined Undefined 28 Constant 0x37 Int32 29 Constant 0x0 Int32 30 Constant string 104289c2e080 String 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 36 Constant undefined Undefined 37 Constant 0x1 Int32 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 42 Constant undefined Undefined 43 Constant 0xc Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 46 Constant undefined Undefined 47 Constant 0x0 Int32 48 Bail 49 Unreachable Block 4 50 ArgumentsLength Int32 51 Constant 0x1 Int32 52 Compare ← ArgumentsLength#50, Constant#51 Gt Bool 53 Test ← Compare#52 → block 5, block 6 1 0 Block 5 54 Constant 0x1 Int32 55 GetFrameArgument ← Constant#54 Value 56 Goto → block 7 Block 6 57 Constant undefined Undefined 58 Box ← Constant#57 Value 59 Goto → block 7 Block 7 60 Phi ← Box#58, GetFrameArgument#55 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 Box ← Constant#61 Value 63 DebugCheckSelfHosted ← Box#62 Value 64 Constant undefined Undefined 65 Constant 0x1 Int32 66 HasShape ← Unbox#10 Bool 67 Test ← HasShape#66 → block 8, block 9 1 0 Block 8 68 Constant function std_Array at 104289c6c820 Object 69 Box ← Constant#68 Value 70 DebugCheckSelfHosted ← Box#69 Value 71 Constant undefined Undefined 72 Constant 0x1 Int32 73 Unbox DebugCheckSelfHosted#70 to Object (fallible) Object 74 Constant function std_Array at 104289c6c820 Object 75 GuardSpecificFunction ← Unbox#73, Constant#74 Object 76 NewArrayDynamicLength ← MinMax#20 Object 77 Goto → block 10 Block 9 78 CallGetIntrinsicValue Value 79 DebugCheckSelfHosted ← CallGetIntrinsicValue#78 Value 80 Constant undefined Undefined 81 Bail 82 Unreachable Block 10 83 Constant 0x0 Int32 84 Goto → block 11 Block 11 (loop header) 85 Phi ← Constant#83, Add#135 Int32 86 Constant magic optimized-out MagicOptimizedOut 87 InterruptCheck 88 Box ← Phi#85 Value 89 Unbox Box#88 to Int32 (fallible) Int32 90 Box ← MinMax#20 Value 91 Unbox Box#90 to Int32 (fallible) Int32 92 Compare ← Unbox#89, Unbox#91 Lt Bool 93 Test ← Compare#92 → block 12, block 16 1 0 Block 12 94 Constant magic optimized-out MagicOptimizedOut 95 Box ← Unbox#10 Value 96 Unbox Box#95 to Object (fallible) Object 97 Box ← Phi#85 Value 98 Unbox Box#97 to Int32 (fallible) Int32 99 GuardShape ← Unbox#96 Object 100 Elements ← GuardShape#99 Elements 101 InitializedLength ← Elements#100 Int32 102 BoundsCheck ← Unbox#98, InitializedLength#101 Int32 103 SpectreMaskIndex ← BoundsCheck#102, InitializedLength#101 Int32 104 GuardElementNotHole ← Elements#100, SpectreMaskIndex#103 105 Constant true Bool 106 Test ← Constant#105 → block 14, block 13 1 0 Block 13 (split edge) 107 Constant magic optimized-out MagicOptimizedOut 108 Goto → block 15 Block 14 109 Constant magic optimized-out MagicOptimizedOut 110 Box ← Unbox#10 Value 111 Unbox Box#110 to Object (fallible) Object 112 Box ← Phi#85 Value 113 Unbox Box#112 to Int32 (fallible) Int32 114 GuardShape ← Unbox#111 Object 115 Elements ← GuardShape#114 Elements 116 InitializedLength ← Elements#115 Int32 117 BoundsCheck ← Unbox#113, InitializedLength#116 Int32 118 SpectreMaskIndex ← BoundsCheck#117, InitializedLength#116 Int32 119 GuardElementsArePacked ← Elements#115 120 LoadElement ← Elements#115, SpectreMaskIndex#118 Value 121 Unbox Parameter#1 to Object (fallible) Object 122 Call ← Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10 Value 123 Box ← NewArrayDynamicLength#76 Value 124 Unbox Box#123 to Object (fallible) Object 125 Box ← Phi#85 Value 126 Unbox Box#125 to Int32 (fallible) Int32 127 GuardShape ← Unbox#124 Object 128 Elements ← GuardShape#127 Elements 129 StoreElementHole ← GuardShape#127, Elements#128, Unbox#126, Call#122 130 Goto → block 15 Block 15 (backedge) 131 Constant magic optimized-out MagicOptimizedOut 132 Box ← Phi#85 Value 133 Unbox Box#132 to Int32 (fallible) Int32 134 Constant 0x1 Int32 135 Add ← Unbox#133, Constant#134 [int32] Int32 136 Goto → block 11 Block 16 137 Constant magic optimized-out MagicOptimizedOut 138 Box ← NewArrayDynamicLength#76 Value 139 Return ← Box#138
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 Int32 21 ArgumentsLength Int32 22 Constant 0x0 Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 51 Constant 0x1 Int32 52 Compare ← ArgumentsLength#21, Constant#51 Gt Bool 53 Test ← Compare#52 → block 5, block 6 1 0 Block 5 55 GetFrameArgument ← Constant#51 Value 56 Goto → block 7 Block 6 58 Box ← Constant#2 Value 59 Goto → block 7 Block 7 60 Phi ← Box#58, GetFrameArgument#55 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 Box ← Constant#61 Value 63 DebugCheckSelfHosted ← Box#62 Value 66 HasShape ← Unbox#10 Bool 67 Test ← HasShape#66 → block 8, block 9 1 0 Block 8 68 Constant function std_Array at 104289c6c820 Object 69 Box ← Constant#68 Value 70 DebugCheckSelfHosted ← Box#69 Value 73 Unbox DebugCheckSelfHosted#70 to Object (fallible) Object 75 GuardSpecificFunction ← Unbox#73, Constant#68 Object 76 NewArrayDynamicLength ← ArrayLength#17 Object 77 Goto → block 10 Block 9 78 CallGetIntrinsicValue Value 79 DebugCheckSelfHosted ← CallGetIntrinsicValue#78 Value 81 Bail 82 Unreachable Block 10 84 Goto → block 11 Block 11 (loop header) 85 Phi ← Constant#22, Add#135 Int32 86 Constant magic optimized-out MagicOptimizedOut 87 InterruptCheck 92 Compare ← Phi#85, ArrayLength#17 Lt Bool 93 Test ← Compare#92 → block 12, block 15 1 0 Block 12 99 GuardShape ← Unbox#10 Object 100 Elements ← GuardShape#99 Elements 101 InitializedLength ← Elements#100 Int32 102 BoundsCheck ← Phi#85, InitializedLength#101 Int32 103 SpectreMaskIndex ← BoundsCheck#102, InitializedLength#101 Int32 104 GuardElementNotHole ← Elements#100, SpectreMaskIndex#103 160 Goto → block 13 Block 13 119 GuardElementsArePacked ← Elements#100 120 LoadElement ← Elements#100, SpectreMaskIndex#103 Value 121 Unbox Parameter#1 to Object (fallible) Object 122 Call ← Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10 Value 127 GuardShape ← NewArrayDynamicLength#76 Object 128 Elements ← GuardShape#127 Elements 129 StoreElementHole ← GuardShape#127, Elements#128, Phi#85, Call#122 130 Goto → block 14 Block 14 (backedge) 135 Add ← Phi#85, Constant#51 [int32] Int32 136 Goto → block 11 Block 15 138 Box ← NewArrayDynamicLength#76 Value 139 Return ← Box#138
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 Int32 21 ArgumentsLength Int32 22 Constant 0x0 Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 51 Constant 0x1 Int32 52 Compare ← ArgumentsLength#21, Constant#51 Gt Bool 53 Test ← Compare#52 → block 5, block 6 1 0 Block 5 55 GetFrameArgument ← Constant#51 Value 56 Goto → block 7 Block 6 58 Box ← Constant#2 Value 59 Goto → block 7 Block 7 60 Phi ← Box#58, GetFrameArgument#55 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 Box ← Constant#61 Value 63 DebugCheckSelfHosted ← Box#62 Value 66 HasShape ← Unbox#10 Bool 67 Test ← HasShape#66 → block 8, block 9 1 0 Block 8 68 Constant function std_Array at 104289c6c820 Object 69 Box ← Constant#68 Value 70 DebugCheckSelfHosted ← Box#69 Value 73 Unbox DebugCheckSelfHosted#70 to Object (fallible) Object 75 GuardSpecificFunction ← Unbox#73, Constant#68 Object 76 NewArrayDynamicLength ← ArrayLength#17 Object 77 Goto → block 10 Block 9 78 CallGetIntrinsicValue Value 79 DebugCheckSelfHosted ← CallGetIntrinsicValue#78 Value 81 Bail 82 Unreachable Block 10 121 Unbox Parameter#1 to Object (fallible) Object 84 Goto → block 11 Block 11 (loop header) 85 Phi ← Constant#22, Add#135 Int32 86 Constant magic optimized-out MagicOptimizedOut 87 InterruptCheck 92 Compare ← Phi#85, ArrayLength#17 Lt Bool 93 Test ← Compare#92 → block 12, block 15 1 0 Block 12 99 GuardShape ← Unbox#10 Object 100 Elements ← GuardShape#99 Elements 101 InitializedLength ← Elements#100 Int32 102 BoundsCheck ← Phi#85, InitializedLength#101 Int32 103 SpectreMaskIndex ← BoundsCheck#102, InitializedLength#101 Int32 104 GuardElementNotHole ← Elements#100, SpectreMaskIndex#103 160 Goto → block 13 Block 13 119 GuardElementsArePacked ← Elements#100 120 LoadElement ← Elements#100, SpectreMaskIndex#103 Value 122 Call ← Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10 Value 127 GuardShape ← NewArrayDynamicLength#76 Object 128 Elements ← GuardShape#127 Elements 129 StoreElementHole ← GuardShape#127, Elements#128, Phi#85, Call#122 130 Goto → block 14 Block 14 (backedge) 135 Add ← Phi#85, Constant#51 [int32] Int32 136 Goto → block 11 Block 15 138 Box ← NewArrayDynamicLength#76 Value 139 Return ← Box#138
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 Int32 21 ArgumentsLength Int32 22 Constant 0x0 Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 166 Beta ← ArgumentsLength#21 I[0, 0] Int32 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 165 Beta ← ArgumentsLength#21 F[?, ?] (U NaN U -Infinity U Infinity) Int32 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 51 Constant 0x1 Int32 52 Compare ← Beta#165, Constant#51 Gt Bool 53 Test ← Compare#52 → block 5, block 6 1 0 Block 5 164 Beta ← Beta#165 F[2, ?] (U Infinity) Int32 55 GetFrameArgument ← Constant#51 Value 56 Goto → block 7 Block 6 163 Beta ← Beta#165 F[?, 1] (U NaN U -Infinity U -0) Int32 58 Box ← Constant#2 Value 59 Goto → block 7 Block 7 60 Phi ← Box#58, GetFrameArgument#55 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 Box ← Constant#61 Value 63 DebugCheckSelfHosted ← Box#62 Value 66 HasShape ← Unbox#10 Bool 67 Test ← HasShape#66 → block 8, block 9 1 0 Block 8 68 Constant function std_Array at 104289c6c820 Object 69 Box ← Constant#68 Value 70 DebugCheckSelfHosted ← Box#69 Value 73 Unbox DebugCheckSelfHosted#70 to Object (fallible) Object 75 GuardSpecificFunction ← Unbox#73, Constant#68 Object 76 NewArrayDynamicLength ← ArrayLength#17 Object 77 Goto → block 10 Block 9 78 CallGetIntrinsicValue Value 79 DebugCheckSelfHosted ← CallGetIntrinsicValue#78 Value 81 Bail 82 Unreachable Block 10 121 Unbox Parameter#1 to Object (fallible) Object 84 Goto → block 11 Block 11 (loop header) 85 Phi ← Constant#22, Add#135 Int32 86 Constant magic optimized-out MagicOptimizedOut 87 InterruptCheck 92 Compare ← Phi#85, ArrayLength#17 Lt Bool 93 Test ← Compare#92 → block 12, block 15 1 0 Block 12 162 Beta ← ArrayLength#17 I[-2147483647, 2147483647] Int32 161 Beta ← Phi#85 I[-2147483648, 2147483646] Int32 99 GuardShape ← Unbox#10 Object 100 Elements ← GuardShape#99 Elements 101 InitializedLength ← Elements#100 Int32 102 BoundsCheck ← Beta#161, InitializedLength#101 Int32 103 SpectreMaskIndex ← BoundsCheck#102, InitializedLength#101 Int32 104 GuardElementNotHole ← Elements#100, SpectreMaskIndex#103 160 Goto → block 13 Block 13 119 GuardElementsArePacked ← Elements#100 120 LoadElement ← Elements#100, SpectreMaskIndex#103 Value 122 Call ← Unbox#121, Phi#60, LoadElement#120, Beta#161, Unbox#10 Value 127 GuardShape ← NewArrayDynamicLength#76 Object 128 Elements ← GuardShape#127 Elements 129 StoreElementHole ← GuardShape#127, Elements#128, Beta#161, Call#122 130 Goto → block 14 Block 14 (backedge) 135 Add ← Beta#161, Constant#51 [int32] Int32 136 Goto → block 11 Block 15 138 Box ← NewArrayDynamicLength#76 Value 139 Return ← Box#138
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 I[0, 2147483647]: Int32 21 ArgumentsLength I[0, 500000]: Int32 22 Constant 0x0 I[0, 0]: Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 166 Beta ← ArgumentsLength#21 I[0, 0] I[0, 0]: Int32 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 165 Beta ← ArgumentsLength#21 F[?, ?] (U NaN U -Infinity U Infinity) I[0, 500000]: Int32 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc I[12, 12]: Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 51 Constant 0x1 I[1, 1]: Int32 52 Compare ← Beta#165, Constant#51 Gt Bool 53 Test ← Compare#52 → block 5, block 6 1 0 Block 5 164 Beta ← Beta#165 F[2, ?] (U Infinity) I[2, 500000]: Int32 55 GetFrameArgument ← Constant#51 Value 56 Goto → block 7 Block 6 163 Beta ← Beta#165 F[?, 1] (U NaN U -Infinity U -0) I[0, 1] (U -0): Int32 58 Box ← Constant#2 Value 59 Goto → block 7 Block 7 60 Phi ← Box#58, GetFrameArgument#55 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 Box ← Constant#61 Value 63 DebugCheckSelfHosted ← Box#62 Value 66 HasShape ← Unbox#10 Bool 67 Test ← HasShape#66 → block 8, block 9 1 0 Block 8 68 Constant function std_Array at 104289c6c820 Object 69 Box ← Constant#68 Value 70 DebugCheckSelfHosted ← Box#69 Value 73 Unbox DebugCheckSelfHosted#70 to Object (fallible) Object 75 GuardSpecificFunction ← Unbox#73, Constant#68 Object 76 NewArrayDynamicLength ← ArrayLength#17 Object 77 Goto → block 10 Block 9 78 CallGetIntrinsicValue Value 79 DebugCheckSelfHosted ← CallGetIntrinsicValue#78 Value 81 Bail 82 Unreachable Block 10 121 Unbox Parameter#1 to Object (fallible) Object 84 Goto → block 11 Block 11 (loop header) 85 Phi ← Constant#22, Add#135 I[0 {}, 2147483647 {[loop] #17-1}]: Int32 86 Constant magic optimized-out MagicOptimizedOut 87 InterruptCheck 92 Compare ← Phi#85, ArrayLength#17 Lt Bool 93 Test ← Compare#92 → block 12, block 15 1 0 Block 12 162 Beta ← ArrayLength#17 I[-2147483647, 2147483647] I[0, 2147483647]: Int32 161 Beta ← Phi#85 I[-2147483648, 2147483646] I[0, 2147483646]: Int32 99 GuardShape ← Unbox#10 Object 100 Elements ← GuardShape#99 Elements 101 InitializedLength ← Elements#100 I[0, 268435453]: Int32 102 BoundsCheck ← Beta#161, InitializedLength#101 I[0, 2147483646]: Int32 103 SpectreMaskIndex ← BoundsCheck#102, InitializedLength#101 I[0, 2147483646]: Int32 104 GuardElementNotHole ← Elements#100, SpectreMaskIndex#103 160 Goto → block 13 Block 13 119 GuardElementsArePacked ← Elements#100 120 LoadElement ← Elements#100, SpectreMaskIndex#103 Value 122 Call ← Unbox#121, Phi#60, LoadElement#120, Beta#161, Unbox#10 Value 127 GuardShape ← NewArrayDynamicLength#76 Object 128 Elements ← GuardShape#127 Elements 129 StoreElementHole ← GuardShape#127, Elements#128, Beta#161, Call#122 130 Goto → block 14 Block 14 (backedge) 135 Add ← Beta#161, Constant#51 [int32] I[1, 2147483647]: Int32 136 Goto → block 11 Block 15 138 Box ← NewArrayDynamicLength#76 Value 139 Return ← Box#138
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 I[0, 2147483647]: Int32 21 ArgumentsLength I[0, 500000]: Int32 22 Constant 0x0 I[0, 0]: Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc I[12, 12]: Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 51 Constant 0x1 I[1, 1]: Int32 52 Compare ← ArgumentsLength#21, Constant#51 Gt Bool 53 Test ← Compare#52 → block 5, block 6 1 0 Block 5 55 GetFrameArgument ← Constant#51 Value 56 Goto → block 7 Block 6 58 Box ← Constant#2 Value 59 Goto → block 7 Block 7 60 Phi ← Box#58, GetFrameArgument#55 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 Box ← Constant#61 Value 63 DebugCheckSelfHosted ← Box#62 Value 66 HasShape ← Unbox#10 Bool 67 Test ← HasShape#66 → block 8, block 9 1 0 Block 8 68 Constant function std_Array at 104289c6c820 Object 69 Box ← Constant#68 Value 70 DebugCheckSelfHosted ← Box#69 Value 73 Unbox DebugCheckSelfHosted#70 to Object (fallible) Object 75 GuardSpecificFunction ← Unbox#73, Constant#68 Object 76 NewArrayDynamicLength ← ArrayLength#17 Object 77 Goto → block 10 Block 9 78 CallGetIntrinsicValue Value 79 DebugCheckSelfHosted ← CallGetIntrinsicValue#78 Value 81 Bail 82 Unreachable Block 10 121 Unbox Parameter#1 to Object (fallible) Object 84 Goto → block 11 Block 11 (loop header) 85 Phi ← Constant#22, Add#135 I[0 {}, 2147483647 {[loop] #17-1}]: Int32 86 Constant magic optimized-out MagicOptimizedOut 87 InterruptCheck 92 Compare ← Phi#85, ArrayLength#17 Lt Bool 93 Test ← Compare#92 → block 12, block 15 1 0 Block 12 99 GuardShape ← Unbox#10 Object 100 Elements ← GuardShape#99 Elements 101 InitializedLength ← Elements#100 I[0, 268435453]: Int32 102 BoundsCheck ← Phi#85, InitializedLength#101 I[0, 2147483646]: Int32 103 SpectreMaskIndex ← BoundsCheck#102, InitializedLength#101 I[0, 2147483646]: Int32 104 GuardElementNotHole ← Elements#100, SpectreMaskIndex#103 160 Goto → block 13 Block 13 119 GuardElementsArePacked ← Elements#100 120 LoadElement ← Elements#100, SpectreMaskIndex#103 Value 122 Call ← Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10 Value 127 GuardShape ← NewArrayDynamicLength#76 Object 128 Elements ← GuardShape#127 Elements 129 StoreElementHole ← GuardShape#127, Elements#128, Phi#85, Call#122 130 Goto → block 14 Block 14 (backedge) 135 Add ← Phi#85, Constant#51 [int32] I[1, 2147483647]: Int32 136 Goto → block 11 Block 15 138 Box ← NewArrayDynamicLength#76 Value 139 Return ← Box#138
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 I[0, 2147483647]: Int32 21 ArgumentsLength I[0, 500000]: Int32 22 Constant 0x0 I[0, 0]: Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc I[12, 12]: Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 51 Constant 0x1 I[1, 1]: Int32 52 Compare ← ArgumentsLength#21, Constant#51 Gt Bool 53 Test ← Compare#52 → block 5, block 6 1 0 Block 5 55 GetFrameArgument ← Constant#51 Value 56 Goto → block 7 Block 6 58 Box ← Constant#2 Value 59 Goto → block 7 Block 7 60 Phi ← Box#58, GetFrameArgument#55 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 Box ← Constant#61 Value 63 DebugCheckSelfHosted ← Box#62 Value 66 HasShape ← Unbox#10 Bool 67 Test ← HasShape#66 → block 8, block 9 1 0 Block 8 68 Constant function std_Array at 104289c6c820 Object 69 Box ← Constant#68 Value 70 DebugCheckSelfHosted ← Box#69 Value 73 Unbox DebugCheckSelfHosted#70 to Object (fallible) Object 75 GuardSpecificFunction ← Unbox#73, Constant#68 Object 76 NewArrayDynamicLength ← ArrayLength#17 Object 77 Goto → block 10 Block 9 78 CallGetIntrinsicValue Value 79 DebugCheckSelfHosted ← CallGetIntrinsicValue#78 Value 81 Bail 82 Unreachable Block 10 121 Unbox Parameter#1 to Object (fallible) Object 84 Goto → block 11 Block 11 (loop header) 85 Phi ← Constant#22, Add#135 I[0 {}, 2147483647 {[loop] #17-1}]: Int32 86 Constant magic optimized-out MagicOptimizedOut 87 InterruptCheck 92 Compare ← Phi#85, ArrayLength#17 Lt Bool 93 Test ← Compare#92 → block 12, block 15 1 0 Block 12 99 GuardShape ← Unbox#10 Object 100 Elements ← GuardShape#99 Elements 101 InitializedLength ← Elements#100 I[0, 268435453]: Int32 102 BoundsCheck ← Phi#85, InitializedLength#101 I[0, 2147483646]: Int32 103 SpectreMaskIndex ← BoundsCheck#102, InitializedLength#101 I[0, 2147483646]: Int32 104 GuardElementNotHole ← Elements#100, SpectreMaskIndex#103 160 Goto → block 13 Block 13 119 GuardElementsArePacked ← Elements#100 120 LoadElement ← Elements#100, SpectreMaskIndex#103 Value 122 Call ← Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10 Value 127 GuardShape ← NewArrayDynamicLength#76 Object 128 Elements ← GuardShape#127 Elements 129 StoreElementHole ← GuardShape#127, Elements#128, Phi#85, Call#122 130 Goto → block 14 Block 14 (backedge) 135 Add ← Phi#85, Constant#51 [int32] I[1, 2147483647]: Int32 136 Goto → block 11 Block 15 138 Box ← NewArrayDynamicLength#76 Value 139 Return ← Box#138
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 I[0, 2147483647]: Int32 21 ArgumentsLength I[0, 500000]: Int32 22 Constant 0x0 I[0, 0]: Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc I[12, 12]: Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 51 Constant 0x1 I[1, 1]: Int32 52 Compare ← ArgumentsLength#21, Constant#51 Gt Bool 53 Test ← Compare#52 → block 5, block 6 1 0 Block 5 55 GetFrameArgument ← Constant#51 Value 56 Goto → block 7 Block 6 58 Box ← Constant#2 Value 59 Goto → block 7 Block 7 60 Phi ← Box#58, GetFrameArgument#55 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 Box ← Constant#61 Value 63 DebugCheckSelfHosted ← Box#62 Value 66 HasShape ← Unbox#10 Bool 67 Test ← HasShape#66 → block 8, block 9 1 0 Block 8 68 Constant function std_Array at 104289c6c820 Object 69 Box ← Constant#68 Value 70 DebugCheckSelfHosted ← Box#69 Value 73 Unbox DebugCheckSelfHosted#70 to Object (fallible) Object 75 GuardSpecificFunction ← Unbox#73, Constant#68 Object 76 NewArrayDynamicLength ← ArrayLength#17 Object 77 Goto → block 10 Block 9 78 CallGetIntrinsicValue Value 79 DebugCheckSelfHosted ← CallGetIntrinsicValue#78 Value 81 Bail 82 Unreachable Block 10 121 Unbox Parameter#1 to Object (fallible) Object 84 Goto → block 11 Block 11 (loop header) 85 Phi ← Constant#22, Add#135 I[0 {}, 2147483647 {[loop] #17-1}]: Int32 86 Constant magic optimized-out MagicOptimizedOut 87 InterruptCheck 92 Compare ← Phi#85, ArrayLength#17 Lt Bool 93 Test ← Compare#92 → block 12, block 15 1 0 Block 12 99 GuardShape ← Unbox#10 Object 100 Elements ← GuardShape#99 Elements 101 InitializedLength ← Elements#100 I[0, 268435453]: Int32 102 BoundsCheck ← Phi#85, InitializedLength#101 I[0, 2147483646]: Int32 103 SpectreMaskIndex ← BoundsCheck#102, InitializedLength#101 I[0, 2147483646]: Int32 104 GuardElementNotHole ← Elements#100, SpectreMaskIndex#103 160 Goto → block 13 Block 13 119 GuardElementsArePacked ← Elements#100 120 LoadElement ← Elements#100, SpectreMaskIndex#103 Value 122 Call ← Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10 Value 127 GuardShape ← NewArrayDynamicLength#76 Object 128 Elements ← GuardShape#127 Elements 129 StoreElementHole ← GuardShape#127, Elements#128, Phi#85, Call#122 130 Goto → block 14 Block 14 (backedge) 135 Add ← Phi#85, Constant#51 [int32] I[1, 2147483647]: Int32 136 Goto → block 11 Block 15 138 Box ← NewArrayDynamicLength#76 Value 139 Return ← Box#138
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 I[0, 2147483647]: Int32 21 ArgumentsLength I[0, 500000]: Int32 22 Constant 0x0 I[0, 0]: Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc I[12, 12]: Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 51 Constant 0x1 I[1, 1]: Int32 52 Compare ← ArgumentsLength#21, Constant#51 Gt Bool 53 Test ← Compare#52 → block 5, block 6 1 0 Block 5 55 GetFrameArgument ← Constant#51 Value 56 Goto → block 7 Block 6 58 Box ← Constant#2 Value 59 Goto → block 7 Block 7 60 Phi ← Box#58, GetFrameArgument#55 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 Box ← Constant#61 Value 63 DebugCheckSelfHosted ← Box#62 Value 66 HasShape ← Unbox#10 Bool 67 Test ← HasShape#66 → block 8, block 9 1 0 Block 8 68 Constant function std_Array at 104289c6c820 Object 69 Box ← Constant#68 Value 70 DebugCheckSelfHosted ← Box#69 Value 73 Unbox DebugCheckSelfHosted#70 to Object (fallible) Object 75 GuardSpecificFunction ← Unbox#73, Constant#68 Object 76 NewArrayDynamicLength ← ArrayLength#17 Object 77 Goto → block 10 Block 9 78 CallGetIntrinsicValue Value 79 DebugCheckSelfHosted ← CallGetIntrinsicValue#78 Value 81 Bail 82 Unreachable Block 10 121 Unbox Parameter#1 to Object (fallible) Object 84 Goto → block 11 Block 11 (loop header) 85 Phi ← Constant#22, Add#135 I[0 {}, 2147483647 {[loop] #17-1}]: Int32 86 Constant magic optimized-out MagicOptimizedOut 87 InterruptCheck 92 Compare ← Phi#85, ArrayLength#17 Lt Bool 93 Test ← Compare#92 → block 12, block 15 1 0 Block 12 99 GuardShape ← Unbox#10 Object 100 Elements ← GuardShape#99 Elements 101 InitializedLength ← Elements#100 I[0, 268435453]: Int32 102 BoundsCheck ← Phi#85, InitializedLength#101 I[0, 2147483646]: Int32 103 SpectreMaskIndex ← BoundsCheck#102, InitializedLength#101 I[0, 2147483646]: Int32 104 GuardElementNotHole ← Elements#100, SpectreMaskIndex#103 160 Goto → block 13 Block 13 119 GuardElementsArePacked ← Elements#100 120 LoadElement ← Elements#100, SpectreMaskIndex#103 Value 122 Call ← Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10 Value 127 GuardShape ← NewArrayDynamicLength#76 Object 128 Elements ← GuardShape#127 Elements 129 StoreElementHole ← GuardShape#127, Elements#128, Phi#85, Call#122 130 Goto → block 14 Block 14 (backedge) 135 Add ← Phi#85, Constant#51 [int32] I[1, 2147483647]: Int32 136 Goto → block 11 Block 15 138 Box ← NewArrayDynamicLength#76 Value 139 Return ← Box#138
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 I[0, 2147483647]: Int32 21 ArgumentsLength I[0, 500000]: Int32 22 Constant 0x0 I[0, 0]: Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc I[12, 12]: Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 51 Constant 0x1 I[1, 1]: Int32 52 Compare ← ArgumentsLength#21, Constant#51 Gt Bool 53 Test ← Compare#52 → block 5, block 6 1 0 Block 5 55 GetFrameArgument ← Constant#51 Value 56 Goto → block 7 Block 6 58 Box ← Constant#2 Value 59 Goto → block 7 Block 7 60 Phi ← Box#58, GetFrameArgument#55 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 Box ← Constant#61 Value 63 DebugCheckSelfHosted ← Box#62 Value 66 HasShape ← Unbox#10 Bool 67 Test ← HasShape#66 → block 8, block 9 1 0 Block 8 68 Constant function std_Array at 104289c6c820 Object 69 Box ← Constant#68 Value 70 DebugCheckSelfHosted ← Box#69 Value 73 Unbox DebugCheckSelfHosted#70 to Object (fallible) Object 75 GuardSpecificFunction ← Unbox#73, Constant#68 Object 76 NewArrayDynamicLength ← ArrayLength#17 Object 77 Goto → block 10 Block 9 78 CallGetIntrinsicValue Value 79 DebugCheckSelfHosted ← CallGetIntrinsicValue#78 Value 81 Bail 82 Unreachable Block 10 121 Unbox Parameter#1 to Object (fallible) Object 84 Goto → block 11 Block 11 (loop header) 85 Phi ← Constant#22, Add#135 I[0 {}, 2147483647 {[loop] #17-1}]: Int32 86 Constant magic optimized-out MagicOptimizedOut 87 InterruptCheck 92 Compare ← Phi#85, ArrayLength#17 Lt Bool 93 Test ← Compare#92 → block 12, block 15 1 0 Block 12 99 GuardShape ← Unbox#10 Object 100 Elements ← GuardShape#99 Elements 101 InitializedLength ← Elements#100 I[0, 268435453]: Int32 102 BoundsCheck ← Phi#85, InitializedLength#101 I[0, 2147483646]: Int32 103 SpectreMaskIndex ← BoundsCheck#102, InitializedLength#101 I[0, 2147483646]: Int32 104 GuardElementNotHole ← Elements#100, SpectreMaskIndex#103 160 Goto → block 13 Block 13 119 GuardElementsArePacked ← Elements#100 120 LoadElement ← Elements#100, SpectreMaskIndex#103 Value 122 Call ← Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10 Value 127 GuardShape ← NewArrayDynamicLength#76 Object 128 Elements ← GuardShape#127 Elements 129 StoreElementHole ← GuardShape#127, Elements#128, Phi#85, Call#122 130 Goto → block 14 Block 14 (backedge) 135 Add ← Phi#85, Constant#51 [int32] I[1, 2147483647]: Int32 136 Goto → block 11 Block 15 138 Box ← NewArrayDynamicLength#76 Value 139 Return ← Box#138
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 I[0, 2147483647]: Int32 21 ArgumentsLength I[0, 500000]: Int32 22 Constant 0x0 I[0, 0]: Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc I[12, 12]: Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 51 Constant 0x1 I[1, 1]: Int32 52 Compare ← ArgumentsLength#21, Constant#51 Gt Bool 53 Test ← Compare#52 → block 5, block 6 1 0 Block 5 55 GetFrameArgument ← Constant#51 Value 56 Goto → block 7 Block 6 58 Box ← Constant#2 Value 59 Goto → block 7 Block 7 60 Phi ← Box#58, GetFrameArgument#55 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 Box ← Constant#61 Value 63 DebugCheckSelfHosted ← Box#62 Value 66 HasShape ← Unbox#10 Bool 67 Test ← HasShape#66 → block 8, block 9 1 0 Block 8 68 Constant function std_Array at 104289c6c820 Object 69 Box ← Constant#68 Value 70 DebugCheckSelfHosted ← Box#69 Value 73 Unbox DebugCheckSelfHosted#70 to Object (fallible) Object 75 GuardSpecificFunction ← Unbox#73, Constant#68 Object 76 NewArrayDynamicLength ← ArrayLength#17 Object 77 Goto → block 10 Block 9 78 CallGetIntrinsicValue Value 79 DebugCheckSelfHosted ← CallGetIntrinsicValue#78 Value 81 Bail 82 Unreachable Block 10 121 Unbox Parameter#1 to Object (fallible) Object 84 Goto → block 11 Block 11 (loop header) 85 Phi ← Constant#22, Add#135 I[0 {}, 2147483647 {[loop] #17-1}]: Int32 86 Constant magic optimized-out MagicOptimizedOut 87 InterruptCheck 92 Compare ← Phi#85, ArrayLength#17 Lt Bool 93 Test ← Compare#92 → block 12, block 15 1 0 Block 12 99 GuardShape ← Unbox#10 Object 100 Elements ← GuardShape#99 Elements 101 InitializedLength ← Elements#100 I[0, 268435453]: Int32 102 BoundsCheck ← Phi#85, InitializedLength#101 I[0, 2147483646]: Int32 103 SpectreMaskIndex ← BoundsCheck#102, InitializedLength#101 I[0, 2147483646]: Int32 104 GuardElementNotHole ← Elements#100, SpectreMaskIndex#103 160 Goto → block 13 Block 13 119 GuardElementsArePacked ← Elements#100 120 LoadElement ← Elements#100, SpectreMaskIndex#103 Value 122 Call ← Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10 Value 127 GuardShape ← NewArrayDynamicLength#76 Object 128 Elements ← GuardShape#127 Elements 129 StoreElementHole ← GuardShape#127, Elements#128, Phi#85, Call#122 130 Goto → block 14 Block 14 (backedge) 135 Add ← Phi#85, Constant#51 [int32] I[1, 2147483647]: Int32 136 Goto → block 11 Block 15 138 Box ← NewArrayDynamicLength#76 Value 139 Return ← Box#138
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 I[0, 2147483647]: Int32 21 ArgumentsLength I[0, 500000]: Int32 22 Constant 0x0 I[0, 0]: Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc I[12, 12]: Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 51 Constant 0x1 I[1, 1]: Int32 52 Compare ← ArgumentsLength#21, Constant#51 Gt Bool 53 Test ← Compare#52 → block 5, block 6 1 0 Block 5 55 GetFrameArgument ← Constant#51 Value 56 Goto → block 7 Block 6 58 Box ← Constant#2 Value 59 Goto → block 7 Block 7 60 Phi ← Box#58, GetFrameArgument#55 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 Box ← Constant#61 Value 63 DebugCheckSelfHosted ← Box#62 Value 66 HasShape ← Unbox#10 Bool 67 Test ← HasShape#66 → block 8, block 9 1 0 Block 8 68 Constant function std_Array at 104289c6c820 Object 69 Box ← Constant#68 Value 70 DebugCheckSelfHosted ← Box#69 Value 73 Unbox DebugCheckSelfHosted#70 to Object (fallible) Object 75 GuardSpecificFunction ← Unbox#73, Constant#68 Object 76 NewArrayDynamicLength ← ArrayLength#17 Object 77 Goto → block 10 Block 9 78 CallGetIntrinsicValue Value 79 DebugCheckSelfHosted ← CallGetIntrinsicValue#78 Value 81 Bail 82 Unreachable Block 10 121 Unbox Parameter#1 to Object (fallible) Object 84 Goto → block 11 Block 11 (loop header) 85 Phi ← Constant#22, Add#135 I[0 {}, 2147483647 {[loop] #17-1}]: Int32 86 Constant magic optimized-out MagicOptimizedOut 87 InterruptCheck 92 Compare ← Phi#85, ArrayLength#17 Lt Bool 93 Test ← Compare#92 → block 12, block 15 1 0 Block 12 99 GuardShape ← Unbox#10 Object 100 Elements ← GuardShape#99 Elements 101 InitializedLength ← Elements#100 I[0, 268435453]: Int32 102 BoundsCheck ← Phi#85, InitializedLength#101 I[0, 2147483646]: Int32 103 SpectreMaskIndex ← BoundsCheck#102, InitializedLength#101 I[0, 2147483646]: Int32 104 GuardElementNotHole ← Elements#100, SpectreMaskIndex#103 160 Goto → block 13 Block 13 119 GuardElementsArePacked ← Elements#100 120 LoadElement ← Elements#100, SpectreMaskIndex#103 Value 122 Call ← Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10 Value 127 GuardShape ← NewArrayDynamicLength#76 Object 128 Elements ← GuardShape#127 Elements 129 StoreElementHole ← GuardShape#127, Elements#128, Phi#85, Call#122 130 Goto → block 14 Block 14 (backedge) 135 Add ← Phi#85, Constant#51 [int32] I[1, 2147483647]: Int32 136 Goto → block 11 Block 15 138 Box ← NewArrayDynamicLength#76 Value 139 Return ← Box#138
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Unbox Parameter#0 to Object (fallible) Object 9 Constant function ToLength at 104289c6c778 Object 10 Box ← Constant#9 Value 11 DebugCheckSelfHosted ← Box#10 Value 12 GuardShape ← Unbox#8 Object 13 Elements ← GuardShape#12 Elements 14 ArrayLength ← Elements#13 I[0, 2147483647]: Int32 15 ArgumentsLength I[0, 500000]: Int32 16 Constant 0x0 I[0, 0]: Int32 17 Compare ← ArgumentsLength#15, Constant#16 StrictEq Bool 18 Test ← Compare#17 → block 1, block 2 1 0 Block 1 19 CallGetIntrinsicValue Value 20 DebugCheckSelfHosted ← CallGetIntrinsicValue#19 Value 21 Bail 22 Unreachable Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 IsCallable ← Parameter#1 Bool 27 Test ← IsCallable#26 → block 4, block 3 1 0 Block 3 28 CallGetIntrinsicValue Value 29 DebugCheckSelfHosted ← CallGetIntrinsicValue#28 Value 30 Constant 0xc I[12, 12]: Int32 31 CallGetIntrinsicValue Value 32 DebugCheckSelfHosted ← CallGetIntrinsicValue#31 Value 33 Bail 34 Unreachable Block 4 35 Constant 0x1 I[1, 1]: Int32 36 Compare ← ArgumentsLength#15, Constant#35 Gt Bool 37 Test ← Compare#36 → block 5, block 6 1 0 Block 5 38 GetFrameArgument ← Constant#35 Value 39 Goto → block 7 Block 6 40 Box ← Constant#2 Value 41 Goto → block 7 Block 7 42 Phi ← Box#40, GetFrameArgument#38 Value 43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 44 Box ← Constant#43 Value 45 DebugCheckSelfHosted ← Box#44 Value 46 HasShape ← Unbox#8 Bool 47 Test ← HasShape#46 → block 8, block 9 1 0 Block 8 48 Constant function std_Array at 104289c6c820 Object 49 Box ← Constant#48 Value 50 DebugCheckSelfHosted ← Box#49 Value 51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object 52 GuardSpecificFunction ← Unbox#51, Constant#48 Object 53 NewArrayDynamicLength ← ArrayLength#14 Object 54 Goto → block 10 Block 9 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Bail 58 Unreachable Block 10 59 Unbox Parameter#1 to Object (fallible) Object 60 Goto → block 11 Block 11 (loop header) 61 Phi ← Constant#16, Add#80 I[0 {}, 2147483647 {[loop] #14-1}]: Int32 62 Constant magic optimized-out MagicOptimizedOut 63 InterruptCheck 64 Compare ← Phi#61, ArrayLength#14 Lt Bool 65 Test ← Compare#64 → block 12, block 15 1 0 Block 12 66 GuardShape ← Unbox#8 Object 67 Elements ← GuardShape#66 Elements 68 InitializedLength ← Elements#67 I[0, 268435453]: Int32 69 BoundsCheck ← Phi#61, InitializedLength#68 I[0, 2147483646]: Int32 70 SpectreMaskIndex ← BoundsCheck#69, InitializedLength#68 I[0, 2147483646]: Int32 71 GuardElementNotHole ← Elements#67, SpectreMaskIndex#70 72 Goto → block 13 Block 13 73 GuardElementsArePacked ← Elements#67 74 LoadElement ← Elements#67, SpectreMaskIndex#70 Value 75 Call ← Unbox#59, Phi#42, LoadElement#74, Phi#61, Unbox#8 Value 76 GuardShape ← NewArrayDynamicLength#53 Object 77 Elements ← GuardShape#76 Elements 78 StoreElementHole ← GuardShape#76, Elements#77, Phi#61, Call#75 79 Goto → block 14 Block 14 (backedge) 80 Add ← Phi#61, Constant#35 [int32] I[1, 2147483647]: Int32 81 Goto → block 11 Block 15 82 Box ← NewArrayDynamicLength#53 Value 83 Return ← Box#82
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Unbox Parameter#0 to Object (fallible) Object 9 Constant function ToLength at 104289c6c778 Object 10 Box ← Constant#9 Value 11 DebugCheckSelfHosted ← Box#10 Value 12 GuardShape ← Unbox#8 Object 13 Elements ← GuardShape#12 Elements 14 ArrayLength ← Elements#13 I[0, 2147483647]: Int32 15 ArgumentsLength I[0, 500000]: Int32 16 Constant 0x0 I[0, 0]: Int32 17 Compare ← ArgumentsLength#15, Constant#16 StrictEq Bool 18 Test ← Compare#17 → block 1, block 2 1 0 Block 1 19 CallGetIntrinsicValue Value 20 DebugCheckSelfHosted ← CallGetIntrinsicValue#19 Value 21 Bail 22 Unreachable Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 IsCallable ← Parameter#1 Bool 27 Test ← IsCallable#26 → block 4, block 3 1 0 Block 3 28 CallGetIntrinsicValue Value 29 DebugCheckSelfHosted ← CallGetIntrinsicValue#28 Value 30 Constant 0xc I[12, 12]: Int32 31 CallGetIntrinsicValue Value 32 DebugCheckSelfHosted ← CallGetIntrinsicValue#31 Value 33 Bail 34 Unreachable Block 4 35 Constant 0x1 I[1, 1]: Int32 36 Compare ← ArgumentsLength#15, Constant#35 Gt Bool 37 Test ← Compare#36 → block 5, block 6 1 0 Block 5 38 GetFrameArgument ← Constant#35 Value 39 Goto → block 7 Block 6 40 Box ← Constant#2 Value 41 Goto → block 7 Block 7 42 Phi ← Box#40, GetFrameArgument#38 Value 43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 44 Box ← Constant#43 Value 45 DebugCheckSelfHosted ← Box#44 Value 46 HasShape ← Unbox#8 Bool 47 Test ← HasShape#46 → block 8, block 9 1 0 Block 8 48 Constant function std_Array at 104289c6c820 Object 49 Box ← Constant#48 Value 50 DebugCheckSelfHosted ← Box#49 Value 51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object 52 GuardSpecificFunction ← Unbox#51, Constant#48 Object 53 NewArrayDynamicLength ← ArrayLength#14 Object 54 Goto → block 10 Block 9 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Bail 58 Unreachable Block 10 59 Unbox Parameter#1 to Object (fallible) Object 60 Goto → block 11 Block 11 (loop header) 61 Phi ← Constant#16, Add#80 I[0 {}, 2147483647 {[loop] #14-1}]: Int32 62 Constant magic optimized-out MagicOptimizedOut 63 InterruptCheck 64 Compare ← Phi#61, ArrayLength#14 Lt Bool 65 Test ← Compare#64 → block 12, block 15 1 0 Block 12 66 GuardShape ← Unbox#8 Object 67 Elements ← GuardShape#66 Elements 68 InitializedLength ← Elements#67 I[0, 268435453]: Int32 69 BoundsCheck ← Phi#61, InitializedLength#68 I[0, 2147483646]: Int32 70 SpectreMaskIndex ← BoundsCheck#69, InitializedLength#68 I[0, 2147483646]: Int32 71 GuardElementNotHole ← Elements#67, SpectreMaskIndex#70 72 Goto → block 13 Block 13 73 GuardElementsArePacked ← Elements#67 74 LoadElement ← Elements#67, SpectreMaskIndex#70 Value 75 Call ← Unbox#59, Phi#42, LoadElement#74, Phi#61, Unbox#8 Value 76 GuardShape ← NewArrayDynamicLength#53 Object 77 Elements ← GuardShape#76 Elements 78 StoreElementHole ← GuardShape#76, Elements#77, Phi#61, Call#75 79 Goto → block 14 Block 14 (backedge) 80 Add ← Phi#61, Constant#35 [int32] I[1, 2147483647]: Int32 81 Goto → block 11 Block 15 82 Box ← NewArrayDynamicLength#53 Value 83 Return ← Box#82
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Unbox Parameter#0 to Object (fallible) Object 9 Constant function ToLength at 104289c6c778 Object 10 Box ← Constant#9 Value 11 DebugCheckSelfHosted ← Box#10 Value 12 GuardShape ← Unbox#8 Object 13 Elements ← GuardShape#12 Elements 14 ArrayLength ← Elements#13 I[0, 2147483647]: Int32 15 ArgumentsLength I[0, 500000]: Int32 16 Constant 0x0 I[0, 0]: Int32 17 Compare ← ArgumentsLength#15, Constant#16 StrictEq Bool 18 Test ← Compare#17 → block 1, block 2 1 0 Block 1 19 CallGetIntrinsicValue Value 20 DebugCheckSelfHosted ← CallGetIntrinsicValue#19 Value 21 Bail 22 Unreachable Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 IsCallable ← Parameter#1 Bool 27 Test ← IsCallable#26 → block 4, block 3 1 0 Block 3 28 CallGetIntrinsicValue Value 29 DebugCheckSelfHosted ← CallGetIntrinsicValue#28 Value 30 Constant 0xc I[12, 12]: Int32 31 CallGetIntrinsicValue Value 32 DebugCheckSelfHosted ← CallGetIntrinsicValue#31 Value 33 Bail 34 Unreachable Block 4 35 Constant 0x1 I[1, 1]: Int32 36 Compare ← ArgumentsLength#15, Constant#35 Gt Bool 37 Test ← Compare#36 → block 5, block 6 1 0 Block 5 38 GetFrameArgument ← Constant#35 Value 39 Goto → block 7 Block 6 40 Box ← Constant#2 Value 41 Goto → block 7 Block 7 42 Phi ← Box#40, GetFrameArgument#38 Value 43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 44 Box ← Constant#43 Value 45 DebugCheckSelfHosted ← Box#44 Value 46 HasShape ← Unbox#8 Bool 47 Test ← HasShape#46 → block 8, block 9 1 0 Block 8 48 Constant function std_Array at 104289c6c820 Object 49 Box ← Constant#48 Value 50 DebugCheckSelfHosted ← Box#49 Value 51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object 52 GuardSpecificFunction ← Unbox#51, Constant#48 Object 53 NewArrayDynamicLength ← ArrayLength#14 Object 54 Goto → block 10 Block 9 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Bail 58 Unreachable Block 10 59 Unbox Parameter#1 to Object (fallible) Object 60 Goto → block 11 Block 11 (loop header) 61 Phi ← Constant#16, Add#80 I[0 {}, 2147483647 {[loop] #14-1}]: Int32 62 Constant magic optimized-out MagicOptimizedOut 63 InterruptCheck 64 Compare ← Phi#61, ArrayLength#14 Lt Bool 65 Test ← Compare#64 → block 12, block 15 1 0 Block 12 66 GuardShape ← Unbox#8 Object 67 Elements ← GuardShape#66 Elements 68 InitializedLength ← Elements#67 I[0, 268435453]: Int32 69 BoundsCheck ← Phi#61, InitializedLength#68 I[0, 2147483646]: Int32 70 SpectreMaskIndex ← BoundsCheck#69, InitializedLength#68 I[0, 2147483646]: Int32 71 GuardElementNotHole ← Elements#67, SpectreMaskIndex#70 72 Goto → block 13 Block 13 73 GuardElementsArePacked ← Elements#67 74 LoadElement ← Elements#67, SpectreMaskIndex#70 Value 75 Call ← Unbox#59, Phi#42, LoadElement#74, Phi#61, Unbox#8 Value 76 GuardShape ← NewArrayDynamicLength#53 Object 77 Elements ← GuardShape#76 Elements 78 StoreElementHole ← GuardShape#76, Elements#77, Phi#61, Call#75 79 Goto → block 14 Block 14 (backedge) 80 Add ← Phi#61, Constant#35 [int32] I[1, 2147483647]: Int32 81 Goto → block 11 Block 15 82 Box ← NewArrayDynamicLength#53 Value 83 Return ← Box#82
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Unbox Parameter#0 to Object (fallible) Object 9 Constant function ToLength at 104289c6c778 Object 10 Box ← Constant#9 Value 11 DebugCheckSelfHosted ← Box#10 Value 12 GuardShape ← Unbox#8 Object 13 Elements ← GuardShape#12 Elements 14 ArrayLength ← Elements#13 I[0, 2147483647]: Int32 15 ArgumentsLength I[0, 500000]: Int32 16 Constant 0x0 I[0, 0]: Int32 17 Compare ← ArgumentsLength#15, Constant#16 StrictEq Bool 18 Test ← Compare#17 → block 1, block 2 1 0 Block 1 19 CallGetIntrinsicValue Value 20 DebugCheckSelfHosted ← CallGetIntrinsicValue#19 Value 21 Bail 22 Unreachable Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 IsCallable ← Parameter#1 Bool 27 Test ← IsCallable#26 → block 4, block 3 1 0 Block 3 28 CallGetIntrinsicValue Value 29 DebugCheckSelfHosted ← CallGetIntrinsicValue#28 Value 30 Constant 0xc I[12, 12]: Int32 31 CallGetIntrinsicValue Value 32 DebugCheckSelfHosted ← CallGetIntrinsicValue#31 Value 33 Bail 34 Unreachable Block 4 35 Constant 0x1 I[1, 1]: Int32 36 Compare ← ArgumentsLength#15, Constant#35 Gt Bool 37 Test ← Compare#36 → block 5, block 6 1 0 Block 5 38 GetFrameArgument ← Constant#35 Value 39 Goto → block 7 Block 6 40 Box ← Constant#2 Value 41 Goto → block 7 Block 7 42 Phi ← Box#40, GetFrameArgument#38 Value 43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 44 Box ← Constant#43 Value 45 DebugCheckSelfHosted ← Box#44 Value 46 HasShape ← Unbox#8 Bool 47 Test ← HasShape#46 → block 8, block 9 1 0 Block 8 48 Constant function std_Array at 104289c6c820 Object 49 Box ← Constant#48 Value 50 DebugCheckSelfHosted ← Box#49 Value 51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object 52 GuardSpecificFunction ← Unbox#51, Constant#48 Object 53 NewArrayDynamicLength ← ArrayLength#14 Object 54 Goto → block 10 Block 9 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Bail 58 Unreachable Block 10 59 Unbox Parameter#1 to Object (fallible) Object 60 Goto → block 11 Block 11 (loop header) 61 Phi ← Constant#16, Add#80 I[0 {}, 2147483647 {[loop] #14-1}]: Int32 62 Constant magic optimized-out MagicOptimizedOut 63 InterruptCheck 64 Compare ← Phi#61, ArrayLength#14 Lt Bool 65 Test ← Compare#64 → block 12, block 15 1 0 Block 12 66 GuardShape ← Unbox#8 Object 67 Elements ← GuardShape#66 Elements 68 InitializedLength ← Elements#67 I[0, 268435453]: Int32 69 BoundsCheck ← Phi#61, InitializedLength#68 I[0, 2147483646]: Int32 70 SpectreMaskIndex ← Phi#61, InitializedLength#68 I[0, 2147483646]: Int32 71 GuardElementNotHole ← Elements#67, SpectreMaskIndex#70 72 Goto → block 13 Block 13 73 GuardElementsArePacked ← Elements#67 74 LoadElement ← Elements#67, SpectreMaskIndex#70 Value 75 Call ← Unbox#59, Phi#42, LoadElement#74, Phi#61, Unbox#8 Value 76 GuardShape ← NewArrayDynamicLength#53 Object 77 Elements ← GuardShape#76 Elements 78 StoreElementHole ← GuardShape#76, Elements#77, Phi#61, Call#75 79 Goto → block 14 Block 14 (backedge) 80 Add ← Phi#61, Constant#35 [int32] I[1, 2147483647]: Int32 81 Goto → block 11 Block 15 82 Box ← NewArrayDynamicLength#53 Value 83 Return ← Box#82
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Unbox Parameter#0 to Object (fallible) Object 9 Constant function ToLength at 104289c6c778 Object 10 Box ← Constant#9 Value 11 DebugCheckSelfHosted ← Box#10 Value 12 GuardShape ← Unbox#8 Object 13 Elements ← GuardShape#12 Elements 14 ArrayLength ← Elements#13 I[0, 2147483647]: Int32 15 ArgumentsLength I[0, 500000]: Int32 16 Constant 0x0 I[0, 0]: Int32 17 Compare ← ArgumentsLength#15, Constant#16 StrictEq Bool 18 Test ← Compare#17 → block 1, block 2 1 0 Block 1 19 CallGetIntrinsicValue Value 20 DebugCheckSelfHosted ← CallGetIntrinsicValue#19 Value 21 Bail 22 Unreachable Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 IsCallable ← Parameter#1 Bool 27 Test ← IsCallable#26 → block 4, block 3 1 0 Block 3 28 CallGetIntrinsicValue Value 29 DebugCheckSelfHosted ← CallGetIntrinsicValue#28 Value 30 Constant 0xc I[12, 12]: Int32 31 CallGetIntrinsicValue Value 32 DebugCheckSelfHosted ← CallGetIntrinsicValue#31 Value 33 Bail 34 Unreachable Block 4 35 Constant 0x1 I[1, 1]: Int32 36 Compare ← ArgumentsLength#15, Constant#35 Gt Bool 37 Test ← Compare#36 → block 5, block 6 1 0 Block 5 38 GetFrameArgument ← Constant#35 Value 39 Goto → block 7 Block 6 40 Box ← Constant#2 Value 41 Goto → block 7 Block 7 42 Phi ← Box#40, GetFrameArgument#38 Value 43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 44 Box ← Constant#43 Value 45 DebugCheckSelfHosted ← Box#44 Value 46 HasShape ← Unbox#8 Bool 47 Test ← HasShape#46 → block 8, block 9 1 0 Block 8 48 Constant function std_Array at 104289c6c820 Object 49 Box ← Constant#48 Value 50 DebugCheckSelfHosted ← Box#49 Value 51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object 52 GuardSpecificFunction ← Unbox#51, Constant#48 Object 53 NewArrayDynamicLength ← ArrayLength#14 Object 54 Goto → block 10 Block 9 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Bail 58 Unreachable Block 10 59 Unbox Parameter#1 to Object (fallible) Object 60 Goto → block 11 Block 11 (loop header) 61 Phi ← Constant#16, Add#80 I[0 {}, 2147483647 {[loop] #14-1}]: Int32 62 Constant magic optimized-out MagicOptimizedOut 63 InterruptCheck 64 Compare ← Phi#61, ArrayLength#14 Lt Bool 65 Test ← Compare#64 → block 12, block 15 1 0 Block 12 66 GuardShape ← Unbox#8 Object 67 Elements ← GuardShape#66 Elements 68 InitializedLength ← Elements#67 I[0, 268435453]: Int32 69 BoundsCheck ← Phi#61, InitializedLength#68 I[0, 2147483646]: Int32 70 SpectreMaskIndex ← Phi#61, InitializedLength#68 I[0, 2147483646]: Int32 71 GuardElementNotHole ← Elements#67, SpectreMaskIndex#70 72 Goto → block 13 Block 13 73 GuardElementsArePacked ← Elements#67 74 LoadElement ← Elements#67, SpectreMaskIndex#70 Value 75 Call ← Unbox#59, Phi#42, LoadElement#74, Phi#61, Unbox#8 Value 76 GuardShape ← NewArrayDynamicLength#53 Object 77 Elements ← GuardShape#76 Elements 78 StoreElementHole ← GuardShape#76, Elements#77, Phi#61, Call#75 79 Goto → block 14 Block 14 (backedge) 80 Add ← Phi#61, Constant#35 [int32] I[1, 2147483647]: Int32 81 Goto → block 11 Block 15 82 Box ← NewArrayDynamicLength#53 Value 83 Return ← Box#82
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Unbox Parameter#0 to Object (fallible) Object 9 Constant function ToLength at 104289c6c778 Object 10 Box ← Constant#9 Value 11 DebugCheckSelfHosted ← Box#10 Value 12 GuardShape ← Unbox#8 Object 13 Elements ← GuardShape#12 Elements 14 ArrayLength ← Elements#13 I[0, 2147483647]: Int32 15 ArgumentsLength I[0, 500000]: Int32 16 Constant 0x0 I[0, 0]: Int32 17 Compare ← ArgumentsLength#15, Constant#16 StrictEq Bool 18 Test ← Compare#17 → block 1, block 2 1 0 Block 1 19 CallGetIntrinsicValue Value 20 DebugCheckSelfHosted ← CallGetIntrinsicValue#19 Value 21 Bail 22 Unreachable Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 IsCallable ← Parameter#1 Bool 27 Test ← IsCallable#26 → block 4, block 3 1 0 Block 3 28 CallGetIntrinsicValue Value 29 DebugCheckSelfHosted ← CallGetIntrinsicValue#28 Value 30 Constant 0xc I[12, 12]: Int32 31 CallGetIntrinsicValue Value 32 DebugCheckSelfHosted ← CallGetIntrinsicValue#31 Value 33 Bail 34 Unreachable Block 4 35 Constant 0x1 I[1, 1]: Int32 36 Compare ← ArgumentsLength#15, Constant#35 Gt Bool 37 Test ← Compare#36 → block 5, block 6 1 0 Block 5 38 GetFrameArgument ← Constant#35 Value 39 Goto → block 7 Block 6 40 Box ← Constant#2 Value 41 Goto → block 7 Block 7 42 Phi ← Box#40, GetFrameArgument#38 Value 43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 44 Box ← Constant#43 Value 45 DebugCheckSelfHosted ← Box#44 Value 46 HasShape ← Unbox#8 Bool 47 Test ← HasShape#46 → block 8, block 9 1 0 Block 8 48 Constant function std_Array at 104289c6c820 Object 49 Box ← Constant#48 Value 50 DebugCheckSelfHosted ← Box#49 Value 51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object 52 GuardSpecificFunction ← Unbox#51, Constant#48 Object 53 NewArrayDynamicLength ← ArrayLength#14 Object 54 Goto → block 10 Block 9 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Bail 58 Unreachable Block 10 59 Unbox Parameter#1 to Object (fallible) Object 60 Goto → block 11 Block 11 (loop header) 61 Phi ← Constant#16, Add#80 I[0 {}, 2147483647 {[loop] #14-1}]: Int32 62 Constant magic optimized-out MagicOptimizedOut 63 InterruptCheck 64 Compare ← Phi#61, ArrayLength#14 Lt Bool 65 Test ← Compare#64 → block 12, block 15 1 0 Block 12 66 GuardShape ← Unbox#8 Object 67 Elements ← GuardShape#66 Elements 68 InitializedLength ← Elements#67 I[0, 268435453]: Int32 69 BoundsCheck ← Phi#61, InitializedLength#68 I[0, 2147483646]: Int32 70 SpectreMaskIndex ← Phi#61, InitializedLength#68 I[0, 2147483646]: Int32 71 GuardElementNotHole ← Elements#67, SpectreMaskIndex#70 72 Goto → block 13 Block 13 73 GuardElementsArePacked ← Elements#67 74 LoadElement ← Elements#67, SpectreMaskIndex#70 Value 75 Call ← Unbox#59, Phi#42, LoadElement#74, Phi#61, Unbox#8 Value 76 GuardShape ← NewArrayDynamicLength#53 Object 77 Elements ← GuardShape#76 Elements 78 StoreElementHole ← GuardShape#76, Elements#77, Phi#61, Call#75 79 Goto → block 14 Block 14 (backedge) 80 Add ← Phi#61, Constant#35 [int32] I[1, 2147483647]: Int32 81 Goto → block 11 Block 15 82 Box ← NewArrayDynamicLength#53 Value 83 Return ← Box#82
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Unbox Parameter#0 to Object (fallible) Object 9 Constant function ToLength at 104289c6c778 Object 10 Box ← Constant#9 Value 11 DebugCheckSelfHosted ← Box#10 Value 12 GuardShape ← Unbox#8 Object 13 Elements ← GuardShape#12 Elements 14 ArrayLength ← Elements#13 I[0, 2147483647]: Int32 15 ArgumentsLength I[0, 500000]: Int32 16 Constant 0x0 I[0, 0]: Int32 17 Compare ← ArgumentsLength#15, Constant#16 StrictEq Bool 18 Test ← Compare#17 → block 1, block 2 1 0 Block 1 19 CallGetIntrinsicValue Value 20 DebugCheckSelfHosted ← CallGetIntrinsicValue#19 Value 21 Bail 22 Unreachable Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 IsCallable ← Parameter#1 Bool 27 Test ← IsCallable#26 → block 4, block 3 1 0 Block 3 28 CallGetIntrinsicValue Value 29 DebugCheckSelfHosted ← CallGetIntrinsicValue#28 Value 30 Constant 0xc I[12, 12]: Int32 31 CallGetIntrinsicValue Value 32 DebugCheckSelfHosted ← CallGetIntrinsicValue#31 Value 33 Bail 34 Unreachable Block 4 35 Constant 0x1 I[1, 1]: Int32 36 Compare ← ArgumentsLength#15, Constant#35 Gt Bool 37 Test ← Compare#36 → block 5, block 6 1 0 Block 5 38 GetFrameArgument ← Constant#35 Value 39 Goto → block 7 Block 6 40 Box ← Constant#2 Value 41 Goto → block 7 Block 7 42 Phi ← Box#40, GetFrameArgument#38 Value 43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 44 Box ← Constant#43 Value 45 DebugCheckSelfHosted ← Box#44 Value 46 HasShape ← Unbox#8 Bool 47 Test ← HasShape#46 → block 8, block 9 1 0 Block 8 48 Constant function std_Array at 104289c6c820 Object 49 Box ← Constant#48 Value 50 DebugCheckSelfHosted ← Box#49 Value 51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object 52 GuardSpecificFunction ← Unbox#51, Constant#48 Object 53 NewArrayDynamicLength ← ArrayLength#14 Object 54 Goto → block 10 Block 9 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Bail 58 Unreachable Block 10 59 Unbox Parameter#1 to Object (fallible) Object 60 Goto → block 11 Block 11 (loop header) 61 Phi ← Constant#16, Add#80 I[0 {}, 2147483647 {[loop] #14-1}]: Int32 62 Constant magic optimized-out MagicOptimizedOut 63 InterruptCheck 64 Compare ← Phi#61, ArrayLength#14 Lt Bool 65 Test ← Compare#64 → block 12, block 15 1 0 Block 12 66 GuardShape ← Unbox#8 Object 67 Elements ← GuardShape#66 Elements 68 InitializedLength ← Elements#67 I[0, 268435453]: Int32 69 BoundsCheck ← Phi#61, InitializedLength#68 I[0, 2147483646]: Int32 70 SpectreMaskIndex ← Phi#61, InitializedLength#68 I[0, 2147483646]: Int32 71 GuardElementNotHole ← Elements#67, SpectreMaskIndex#70 72 Goto → block 13 Block 13 73 GuardElementsArePacked ← Elements#67 74 LoadElement ← Elements#67, SpectreMaskIndex#70 Value 75 Call ← Unbox#59, Phi#42, LoadElement#74, Phi#61, Unbox#8 Value 76 GuardShape ← NewArrayDynamicLength#53 Object 77 Elements ← GuardShape#76 Elements 78 StoreElementHole ← GuardShape#76, Elements#77, Phi#61, Call#75 79 Goto → block 14 Block 14 (backedge) 80 Add ← Phi#61, Constant#35 [int32] I[1, 2147483647]: Int32 81 Goto → block 11 Block 15 82 Box ← NewArrayDynamicLength#53 Value 83 Return ← Box#82
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Unbox Parameter#0 to Object (fallible) Object 9 Constant function ToLength at 104289c6c778 Object 10 Box ← Constant#9 Value 11 DebugCheckSelfHosted ← Box#10 Value 12 GuardShape ← Unbox#8 Object 13 Elements ← GuardShape#12 Elements 167 DebugEnterGCUnsafeRegion 14 ArrayLength ← Elements#13 I[0, 2147483647]: Int32 168 DebugLeaveGCUnsafeRegion 15 ArgumentsLength I[0, 500000]: Int32 16 Constant 0x0 I[0, 0]: Int32 17 Compare ← ArgumentsLength#15, Constant#16 StrictEq Bool 18 Test ← Compare#17 → block 1, block 2 1 0 Block 1 19 CallGetIntrinsicValue Value 20 DebugCheckSelfHosted ← CallGetIntrinsicValue#19 Value 21 Bail 22 Unreachable Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 IsCallable ← Parameter#1 Bool 27 Test ← IsCallable#26 → block 4, block 3 1 0 Block 3 28 CallGetIntrinsicValue Value 29 DebugCheckSelfHosted ← CallGetIntrinsicValue#28 Value 30 Constant 0xc I[12, 12]: Int32 31 CallGetIntrinsicValue Value 32 DebugCheckSelfHosted ← CallGetIntrinsicValue#31 Value 33 Bail 34 Unreachable Block 4 35 Constant 0x1 I[1, 1]: Int32 36 Compare ← ArgumentsLength#15, Constant#35 Gt Bool 37 Test ← Compare#36 → block 5, block 6 1 0 Block 5 38 GetFrameArgument ← Constant#35 Value 39 Goto → block 7 Block 6 40 Box ← Constant#2 Value 41 Goto → block 7 Block 7 42 Phi ← Box#40, GetFrameArgument#38 Value 43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 44 Box ← Constant#43 Value 45 DebugCheckSelfHosted ← Box#44 Value 46 HasShape ← Unbox#8 Bool 47 Test ← HasShape#46 → block 8, block 9 1 0 Block 8 48 Constant function std_Array at 104289c6c820 Object 49 Box ← Constant#48 Value 50 DebugCheckSelfHosted ← Box#49 Value 51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object 52 GuardSpecificFunction ← Unbox#51, Constant#48 Object 53 NewArrayDynamicLength ← ArrayLength#14 Object 54 Goto → block 10 Block 9 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Bail 58 Unreachable Block 10 59 Unbox Parameter#1 to Object (fallible) Object 60 Goto → block 11 Block 11 (loop header) 61 Phi ← Constant#16, Add#80 I[0 {}, 2147483647 {[loop] #14-1}]: Int32 62 Constant magic optimized-out MagicOptimizedOut 63 InterruptCheck 64 Compare ← Phi#61, ArrayLength#14 Lt Bool 65 Test ← Compare#64 → block 12, block 15 1 0 Block 12 66 GuardShape ← Unbox#8 Object 67 Elements ← GuardShape#66 Elements 173 DebugEnterGCUnsafeRegion 171 DebugEnterGCUnsafeRegion 68 InitializedLength ← Elements#67 I[0, 268435453]: Int32 174 DebugLeaveGCUnsafeRegion 69 BoundsCheck ← Phi#61, InitializedLength#68 I[0, 2147483646]: Int32 70 SpectreMaskIndex ← Phi#61, InitializedLength#68 I[0, 2147483646]: Int32 71 GuardElementNotHole ← Elements#67, SpectreMaskIndex#70 172 DebugLeaveGCUnsafeRegion 72 Goto → block 13 Block 13 73 GuardElementsArePacked ← Elements#67 170 KeepAliveObject ← GuardShape#66 74 LoadElement ← Elements#67, SpectreMaskIndex#70 Value 169 KeepAliveObject ← GuardShape#66 75 Call ← Unbox#59, Phi#42, LoadElement#74, Phi#61, Unbox#8 Value 76 GuardShape ← NewArrayDynamicLength#53 Object 77 Elements ← GuardShape#76 Elements 78 StoreElementHole ← GuardShape#76, Elements#77, Phi#61, Call#75 79 Goto → block 14 Block 14 (backedge) 80 Add ← Phi#61, Constant#35 [int32] I[1, 2147483647]: Int32 81 Goto → block 11 Block 15 82 Box ← NewArrayDynamicLength#53 Value 83 Return ← Box#82
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Unbox Parameter#0 to Object (fallible) Object 9 Constant function ToLength at 104289c6c778 Object 10 Box ← Constant#9 Value 11 DebugCheckSelfHosted ← Box#10 Value 12 GuardShape ← Unbox#8 Object 13 Elements ← GuardShape#12 Elements 167 DebugEnterGCUnsafeRegion 14 ArrayLength ← Elements#13 I[0, 2147483647]: Int32 168 DebugLeaveGCUnsafeRegion 15 ArgumentsLength I[0, 500000]: Int32 16 Constant 0x0 I[0, 0]: Int32 17 Compare ← ArgumentsLength#15, Constant#16 StrictEq Bool 18 Test ← Compare#17 → block 1, block 2 1 0 Block 1 19 CallGetIntrinsicValue Value 20 DebugCheckSelfHosted ← CallGetIntrinsicValue#19 Value 21 Bail 22 Unreachable Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 IsCallable ← Parameter#1 Bool 27 Test ← IsCallable#26 → block 4, block 3 1 0 Block 3 28 CallGetIntrinsicValue Value 29 DebugCheckSelfHosted ← CallGetIntrinsicValue#28 Value 30 Constant 0xc I[12, 12]: Int32 31 CallGetIntrinsicValue Value 32 DebugCheckSelfHosted ← CallGetIntrinsicValue#31 Value 33 Bail 34 Unreachable Block 4 35 Constant 0x1 I[1, 1]: Int32 36 Compare ← ArgumentsLength#15, Constant#35 Gt Bool 37 Test ← Compare#36 → block 5, block 6 1 0 Block 5 38 GetFrameArgument ← Constant#35 Value 39 Goto → block 7 Block 6 40 Box ← Constant#2 Value 41 Goto → block 7 Block 7 42 Phi ← Box#40, GetFrameArgument#38 Value 43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 44 Box ← Constant#43 Value 45 DebugCheckSelfHosted ← Box#44 Value 46 HasShape ← Unbox#8 Bool 47 Test ← HasShape#46 → block 8, block 9 1 0 Block 8 48 Constant function std_Array at 104289c6c820 Object 49 Box ← Constant#48 Value 50 DebugCheckSelfHosted ← Box#49 Value 51 Unbox Box#49 to Object (fallible) Object 52 GuardSpecificFunction ← Unbox#51, Constant#48 Object 53 NewArrayDynamicLength ← ArrayLength#14 Object 54 Goto → block 10 Block 9 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Bail 58 Unreachable Block 10 59 Unbox Parameter#1 to Object (fallible) Object 60 Goto → block 11 Block 11 (loop header) 61 Phi ← Constant#16, Add#80 I[0 {}, 2147483647 {[loop] #14-1}]: Int32 62 Constant magic optimized-out MagicOptimizedOut 63 InterruptCheck 64 Compare ← Phi#61, ArrayLength#14 Lt Bool 65 Test ← Compare#64 → block 12, block 15 1 0 Block 12 66 GuardShape ← Unbox#8 Object 67 Elements ← GuardShape#66 Elements 173 DebugEnterGCUnsafeRegion 171 DebugEnterGCUnsafeRegion 68 InitializedLength ← Elements#67 I[0, 268435453]: Int32 174 DebugLeaveGCUnsafeRegion 69 BoundsCheck ← Phi#61, InitializedLength#68 I[0, 2147483646]: Int32 70 SpectreMaskIndex ← Phi#61, InitializedLength#68 I[0, 2147483646]: Int32 71 GuardElementNotHole ← Elements#67, SpectreMaskIndex#70 172 DebugLeaveGCUnsafeRegion 72 Goto → block 13 Block 13 73 GuardElementsArePacked ← Elements#67 170 KeepAliveObject ← GuardShape#66 74 LoadElement ← Elements#67, SpectreMaskIndex#70 Value 169 KeepAliveObject ← GuardShape#66 75 Call ← Unbox#59, Phi#42, LoadElement#74, Phi#61, Unbox#8 Value 76 GuardShape ← NewArrayDynamicLength#53 Object 77 Elements ← GuardShape#76 Elements 78 StoreElementHole ← GuardShape#76, Elements#77, Phi#61, Call#75 79 Goto → block 14 Block 14 (backedge) 80 Add ← Phi#61, Constant#35 [int32] I[1, 2147483647]: Int32 81 Goto → block 11 Block 15 82 Box ← NewArrayDynamicLength#53 Value 83 Return ← Box#82
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Unbox Parameter#0 to Object (fallible) Object 9 Constant function ToLength at 104289c6c778 Object 10 Box ← Constant#9 Value 11 DebugCheckSelfHosted ← Box#10 Value 12 GuardShape ← Unbox#8 Object 13 Elements ← GuardShape#12 Elements 167 DebugEnterGCUnsafeRegion 14 ArrayLength ← Elements#13 I[0, 2147483647]: Int32 168 DebugLeaveGCUnsafeRegion 15 ArgumentsLength I[0, 500000]: Int32 16 Constant 0x0 I[0, 0]: Int32 17 Compare ← ArgumentsLength#15, Constant#16 StrictEq Bool 18 Test ← Compare#17 → block 1, block 2 1 0 Block 1 19 CallGetIntrinsicValue Value 20 DebugCheckSelfHosted ← CallGetIntrinsicValue#19 Value 21 Bail 22 Unreachable Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 IsCallable ← Parameter#1 Bool 27 Test ← IsCallable#26 → block 4, block 3 1 0 Block 3 28 CallGetIntrinsicValue Value 29 DebugCheckSelfHosted ← CallGetIntrinsicValue#28 Value 30 Constant 0xc I[12, 12]: Int32 31 CallGetIntrinsicValue Value 32 DebugCheckSelfHosted ← CallGetIntrinsicValue#31 Value 33 Bail 34 Unreachable Block 4 35 Constant 0x1 I[1, 1]: Int32 36 Compare ← ArgumentsLength#15, Constant#35 Gt Bool 37 Test ← Compare#36 → block 5, block 6 1 0 Block 5 38 GetFrameArgument ← Constant#35 Value 39 Goto → block 7 Block 6 40 Box ← Constant#2 Value 41 Goto → block 7 Block 7 42 Phi ← Box#40, GetFrameArgument#38 Value 43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 44 Box ← Constant#43 Value 45 DebugCheckSelfHosted ← Box#44 Value 46 HasShape ← Unbox#8 Bool 47 Test ← HasShape#46 → block 8, block 9 1 0 Block 8 48 Constant function std_Array at 104289c6c820 Object 49 Box ← Constant#48 Value 50 DebugCheckSelfHosted ← Box#49 Value 51 Unbox Box#49 to Object (fallible) Object 52 GuardSpecificFunction ← Unbox#51, Constant#48 Object 53 NewArrayDynamicLength ← ArrayLength#14 Object 54 Goto → block 10 Block 9 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Bail 58 Unreachable Block 10 59 Unbox Parameter#1 to Object (fallible) Object 60 Goto → block 11 Block 11 (loop header) 61 Phi ← Constant#16, Add#80 I[0 {}, 2147483647 {[loop] #14-1}]: Int32 62 Constant magic optimized-out MagicOptimizedOut 63 InterruptCheck 64 Compare ← Phi#61, ArrayLength#14 Lt Bool 65 Test ← Compare#64 → block 12, block 15 1 0 Block 12 66 GuardShape ← Unbox#8 Object 67 Elements ← GuardShape#66 Elements 173 DebugEnterGCUnsafeRegion 171 DebugEnterGCUnsafeRegion 68 InitializedLength ← Elements#67 I[0, 268435453]: Int32 174 DebugLeaveGCUnsafeRegion 69 BoundsCheck ← Phi#61, InitializedLength#68 I[0, 2147483646]: Int32 70 SpectreMaskIndex ← Phi#61, InitializedLength#68 I[0, 2147483646]: Int32 71 GuardElementNotHole ← Elements#67, SpectreMaskIndex#70 172 DebugLeaveGCUnsafeRegion 72 Goto → block 13 Block 13 73 GuardElementsArePacked ← Elements#67 170 KeepAliveObject ← GuardShape#66 74 LoadElement ← Elements#67, SpectreMaskIndex#70 Value 169 KeepAliveObject ← GuardShape#66 75 Call ← Unbox#59, Phi#42, LoadElement#74, Phi#61, Unbox#8 Value 76 GuardShape ← NewArrayDynamicLength#53 Object 77 Elements ← GuardShape#76 Elements 78 StoreElementHole ← GuardShape#76, Elements#77, Phi#61, Call#75 79 Goto → block 14 Block 14 (backedge) 80 Add ← Phi#61, Constant#35 [int32] I[1, 2147483647]: Int32 81 Goto → block 11 Block 15 82 Box ← NewArrayDynamicLength#53 Value 83 Return ← Box#82
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c28560 String 29 Bail 30 UnreachableResult Value 31 Goto → block 2 Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 47 UnreachableResult Value 48 Bail 49 UnreachableResult Value 50 Goto → block 4 Block 4 51 Constant 0x0 Int32 52 ArgumentsLength Int32 53 Constant 0x1 Int32 54 Compare ← ArgumentsLength#52, Constant#53 Gt Bool 55 Test ← Compare#54 → block 5, block 6 1 0 Block 5 56 Constant 0x1 Int32 57 GetFrameArgument ← Constant#56 Value 58 Goto → block 16 Block 6 59 Constant 0x0 Int32 60 Compare ← MinMax#18, Constant#59 StrictEq Bool 61 Test ← Compare#60 → block 7, block 8 1 0 Block 7 62 CallGetIntrinsicValue Value 63 DebugCheckSelfHosted ← CallGetIntrinsicValue#62 Value 64 Constant undefined Undefined 65 Constant 0x34 Int32 66 Bail 67 UnreachableResult Value 68 Throw ← UnreachableResult#67 69 Unreachable Block 8 70 Constant false Bool 81 Goto → block 9 Block 9 (loop header) 71 Phi ← Constant#2, Constant#2 Value 72 Phi ← Constant#2, Constant#2 Value 73 Phi ← Parameter#0, Parameter#0 Value 74 Phi ← Parameter#1, Parameter#1 Value 75 Phi ← Unbox#9, Unbox#9 Value 76 Phi ← MinMax#18, MinMax#18 Value 77 Phi ← Constant#51, UnreachableResult#91 Value 78 Phi ← Constant#2, Constant#2 Value 79 Phi ← Constant#70, Constant#70 Value 80 Phi ← Parameter#0, Parameter#0 Value 82 InterruptCheck 83 Bail 84 UnreachableResult Bool 85 Test ← UnreachableResult#84 → block 10, block 11 1 0 Block 10 86 Constant true Bool 87 Goto → block 13 Block 11 88 Bail 89 UnreachableResult Value 90 Bail 91 UnreachableResult Value 92 Bail 93 UnreachableResult Bool 94 Test ← UnreachableResult#93 → block 12, block 13 1 0 Block 12 (backedge) 95 Goto → block 9 Block 13 96 Phi ← Phi#77, UnreachableResult#91 Value 97 Phi ← Constant#86, Phi#79 Value 98 Test ← Phi#97 → block 15, block 14 1 0 Block 14 99 CallGetIntrinsicValue Value 100 DebugCheckSelfHosted ← CallGetIntrinsicValue#99 Value 101 Constant undefined Undefined 102 Constant 0x34 Int32 103 Bail 104 UnreachableResult Value 105 Throw ← UnreachableResult#104 106 Unreachable Block 15 107 Bail 108 UnreachableResult Value 109 Bail 110 UnreachableResult Value 111 Bail 112 UnreachableResult Value 113 Goto → block 16 Block 16 114 Phi ← Phi#71, Constant#2 Value 115 Phi ← Phi#72, Constant#2 Value 116 Phi ← Phi#73, Parameter#0 Value 117 Phi ← Phi#74, Parameter#1 Value 118 Phi ← Phi#75, Unbox#9 Value 119 Phi ← Phi#76, MinMax#18 Value 120 Phi ← UnreachableResult#110, Constant#51 Value 121 Phi ← UnreachableResult#112, GetFrameArgument#57 Value 122 Phi ← Phi#97, Constant#2 Value 123 Phi ← Phi#80, Parameter#0 Value 134 Goto → block 17 Block 17 (loop header) 124 Phi ← Phi#114, Phi#114 Value 125 Phi ← Phi#115, Phi#115 Value 126 Phi ← Phi#116, Phi#116 Value 127 Phi ← Phi#117, Phi#117 Value 128 Phi ← Phi#118, Phi#118 Value 129 Phi ← Phi#119, Phi#119 Value 130 Phi ← Phi#120, Add#165 Value 131 Phi ← Phi#121, Phi#162 Value 132 Phi ← Phi#122, Phi#122 Value 133 Phi ← Phi#123, Phi#123 Value 135 InterruptCheck 136 Unbox Phi#130 to Int32 (fallible) Int32 137 Unbox Phi#129 to Int32 (fallible) Int32 138 Compare ← Unbox#136, Unbox#137 Lt Bool 139 Test ← Compare#138 → block 18, block 21 1 0 Block 18 140 Unbox Phi#128 to Object (fallible) Object 141 Unbox Phi#130 to Int32 (fallible) Int32 142 GuardShape ← Unbox#140 Object 143 Elements ← GuardShape#142 Elements 144 InitializedLength ← Elements#143 Int32 145 BoundsCheck ← Unbox#141, InitializedLength#144 Int32 146 SpectreMaskIndex ← BoundsCheck#145, InitializedLength#144 Int32 147 GuardElementNotHole ← Elements#143, SpectreMaskIndex#146 148 Constant true Bool 149 Test ← Constant#148 → block 19, block 20 1 0 Block 19 150 Constant undefined Undefined 151 Unbox Phi#128 to Object (fallible) Object 152 Unbox Phi#130 to Int32 (fallible) Int32 153 GuardShape ← Unbox#151 Object 154 Elements ← GuardShape#153 Elements 155 InitializedLength ← Elements#154 Int32 156 BoundsCheck ← Unbox#152, InitializedLength#155 Int32 157 SpectreMaskIndex ← BoundsCheck#156, InitializedLength#155 Int32 158 GuardElementsArePacked ← Elements#154 159 LoadElement ← Elements#154, SpectreMaskIndex#157 Value 160 Call ← Phi#127, Constant#150, Phi#131, LoadElement#159, Phi#130, Phi#128 Value 161 Goto → block 20 Block 20 (backedge) 162 Phi ← Call#160, Phi#131 Value 163 Unbox Phi#130 to Int32 (fallible) Int32 164 Constant 0x1 Int32 165 Add ← Unbox#163, Constant#164 [int32] Int32 166 Goto → block 17 Block 21 167 Return ← Phi#131
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c28560 String 29 Bail 171 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 170 Unreachable Block 4 51 Constant 0x0 Int32 52 ArgumentsLength Int32 53 Constant 0x1 Int32 54 Compare ← ArgumentsLength#52, Constant#53 Gt Bool 55 Test ← Compare#54 → block 5, block 6 1 0 Block 5 56 Constant 0x1 Int32 57 GetFrameArgument ← Constant#56 Value 58 Goto → block 16 Block 6 59 Constant 0x0 Int32 60 Compare ← MinMax#18, Constant#59 StrictEq Bool 61 Test ← Compare#60 → block 7, block 8 1 0 Block 7 62 CallGetIntrinsicValue Value 63 DebugCheckSelfHosted ← CallGetIntrinsicValue#62 Value 64 Constant undefined Undefined 65 Constant 0x34 Int32 66 Bail 169 Unreachable Block 8 70 Constant false Bool 81 Goto → block 9 Block 9 71 Phi ← Constant#2 Value 72 Phi ← Constant#2 Value 73 Phi ← Parameter#0 Value 74 Phi ← Parameter#1 Value 75 Phi ← Unbox#9 Value 76 Phi ← MinMax#18 Value 77 Phi ← Constant#51 Value 78 Phi ← Constant#2 Value 79 Phi ← Constant#70 Value 80 Phi ← Parameter#0 Value 82 InterruptCheck 83 Bail 168 Unreachable Block 16 114 Phi ← Constant#2 Value 115 Phi ← Constant#2 Value 116 Phi ← Parameter#0 Value 117 Phi ← Parameter#1 Value 118 Phi ← Unbox#9 Value 119 Phi ← MinMax#18 Value 120 Phi ← Constant#51 Value 121 Phi ← GetFrameArgument#57 Value 122 Phi ← Constant#2 Value 123 Phi ← Parameter#0 Value 134 Goto → block 17 Block 17 (loop header) 124 Phi ← Phi#114, Phi#114 Value 125 Phi ← Phi#115, Phi#115 Value 126 Phi ← Phi#116, Phi#116 Value 127 Phi ← Phi#117, Phi#117 Value 128 Phi ← Phi#118, Phi#118 Value 129 Phi ← Phi#119, Phi#119 Value 130 Phi ← Phi#120, Add#165 Value 131 Phi ← Phi#121, Phi#162 Value 132 Phi ← Phi#122, Phi#122 Value 133 Phi ← Phi#123, Phi#123 Value 135 InterruptCheck 136 Unbox Phi#130 to Int32 (fallible) Int32 137 Unbox Phi#129 to Int32 (fallible) Int32 138 Compare ← Unbox#136, Unbox#137 Lt Bool 139 Test ← Compare#138 → block 18, block 21 1 0 Block 18 140 Unbox Phi#128 to Object (fallible) Object 141 Unbox Phi#130 to Int32 (fallible) Int32 142 GuardShape ← Unbox#140 Object 143 Elements ← GuardShape#142 Elements 144 InitializedLength ← Elements#143 Int32 145 BoundsCheck ← Unbox#141, InitializedLength#144 Int32 146 SpectreMaskIndex ← BoundsCheck#145, InitializedLength#144 Int32 147 GuardElementNotHole ← Elements#143, SpectreMaskIndex#146 148 Constant true Bool 149 Test ← Constant#148 → block 19, block 20 1 0 Block 19 150 Constant undefined Undefined 151 Unbox Phi#128 to Object (fallible) Object 152 Unbox Phi#130 to Int32 (fallible) Int32 153 GuardShape ← Unbox#151 Object 154 Elements ← GuardShape#153 Elements 155 InitializedLength ← Elements#154 Int32 156 BoundsCheck ← Unbox#152, InitializedLength#155 Int32 157 SpectreMaskIndex ← BoundsCheck#156, InitializedLength#155 Int32 158 GuardElementsArePacked ← Elements#154 159 LoadElement ← Elements#154, SpectreMaskIndex#157 Value 160 Call ← Phi#127, Constant#150, Phi#131, LoadElement#159, Phi#130, Phi#128 Value 161 Goto → block 20 Block 20 (backedge) 162 Phi ← Call#160, Phi#131 Value 163 Unbox Phi#130 to Int32 (fallible) Int32 164 Constant 0x1 Int32 165 Add ← Unbox#163, Constant#164 [int32] Int32 166 Goto → block 17 Block 21 167 Return ← Phi#131
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c28560 String 29 Bail 171 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 170 Unreachable Block 4 51 Constant 0x0 Int32 52 ArgumentsLength Int32 53 Constant 0x1 Int32 54 Compare ← ArgumentsLength#52, Constant#53 Gt Bool 55 Test ← Compare#54 → block 5, block 6 1 0 Block 5 56 Constant 0x1 Int32 57 GetFrameArgument ← Constant#56 Value 58 Goto → block 16 Block 6 59 Constant 0x0 Int32 60 Compare ← MinMax#18, Constant#59 StrictEq Bool 61 Test ← Compare#60 → block 7, block 8 1 0 Block 7 62 CallGetIntrinsicValue Value 63 DebugCheckSelfHosted ← CallGetIntrinsicValue#62 Value 64 Constant undefined Undefined 65 Constant 0x34 Int32 66 Bail 169 Unreachable Block 8 70 Constant false Bool 81 Goto → block 9 Block 9 71 Phi ← Constant#2 Value 72 Phi ← Constant#2 Value 73 Phi ← Parameter#0 Value 74 Phi ← Parameter#1 Value 75 Phi ← Unbox#9 Value 76 Phi ← MinMax#18 Value 77 Phi ← Constant#51 Value 78 Phi ← Constant#2 Value 79 Phi ← Constant#70 Value 80 Phi ← Parameter#0 Value 82 InterruptCheck 83 Bail 168 Unreachable Block 16 114 Phi ← Constant#2 Value 115 Phi ← Constant#2 Value 116 Phi ← Parameter#0 Value 117 Phi ← Parameter#1 Value 118 Phi ← Unbox#9 Value 119 Phi ← MinMax#18 Value 120 Phi ← Constant#51 Value 121 Phi ← GetFrameArgument#57 Value 122 Phi ← Constant#2 Value 123 Phi ← Parameter#0 Value 134 Goto → block 17 Block 17 (loop header) 124 Phi ← Phi#114, Phi#114 Value 125 Phi ← Phi#115, Phi#115 Value 126 Phi ← Phi#116, Phi#116 Value 127 Phi ← Phi#117, Phi#117 Value 128 Phi ← Phi#118, Phi#118 Value 129 Phi ← Phi#119, Phi#119 Value 130 Phi ← Phi#120, Add#165 Value 131 Phi ← Phi#121, Phi#162 Value 132 Phi ← Phi#122, Phi#122 Value 133 Phi ← Phi#123, Phi#123 Value 135 InterruptCheck 136 Unbox Phi#130 to Int32 (fallible) Int32 137 Unbox Phi#129 to Int32 (fallible) Int32 138 Compare ← Unbox#136, Unbox#137 Lt Bool 139 Test ← Compare#138 → block 18, block 21 1 0 Block 18 140 Unbox Phi#128 to Object (fallible) Object 141 Unbox Phi#130 to Int32 (fallible) Int32 142 GuardShape ← Unbox#140 Object 143 Elements ← GuardShape#142 Elements 144 InitializedLength ← Elements#143 Int32 145 BoundsCheck ← Unbox#141, InitializedLength#144 Int32 146 SpectreMaskIndex ← BoundsCheck#145, InitializedLength#144 Int32 147 GuardElementNotHole ← Elements#143, SpectreMaskIndex#146 148 Constant true Bool 149 Test ← Constant#148 → block 19, block 20 1 0 Block 19 150 Constant undefined Undefined 151 Unbox Phi#128 to Object (fallible) Object 152 Unbox Phi#130 to Int32 (fallible) Int32 153 GuardShape ← Unbox#151 Object 154 Elements ← GuardShape#153 Elements 155 InitializedLength ← Elements#154 Int32 156 BoundsCheck ← Unbox#152, InitializedLength#155 Int32 157 SpectreMaskIndex ← BoundsCheck#156, InitializedLength#155 Int32 158 GuardElementsArePacked ← Elements#154 159 LoadElement ← Elements#154, SpectreMaskIndex#157 Value 160 Call ← Phi#127, Constant#150, Phi#131, LoadElement#159, Phi#130, Phi#128 Value 161 Goto → block 20 Block 20 (backedge) 162 Phi ← Call#160, Phi#131 Value 163 Unbox Phi#130 to Int32 (fallible) Int32 164 Constant 0x1 Int32 165 Add ← Unbox#163, Constant#164 [int32] Int32 166 Goto → block 17 Block 21 167 Return ← Phi#131
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c28560 String 29 Bail 171 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 170 Unreachable Block 4 51 Constant 0x0 Int32 52 ArgumentsLength Int32 53 Constant 0x1 Int32 54 Compare ← ArgumentsLength#52, Constant#53 Gt Bool 55 Test ← Compare#54 → block 5, block 6 1 0 Block 5 56 Constant 0x1 Int32 57 GetFrameArgument ← Constant#56 Value 58 Goto → block 16 Block 6 59 Constant 0x0 Int32 60 Compare ← MinMax#18, Constant#59 StrictEq Bool 61 Test ← Compare#60 → block 7, block 8 1 0 Block 7 62 CallGetIntrinsicValue Value 63 DebugCheckSelfHosted ← CallGetIntrinsicValue#62 Value 64 Constant undefined Undefined 65 Constant 0x34 Int32 66 Bail 169 Unreachable Block 8 70 Constant false Bool 81 Goto → block 9 Block 9 71 Phi ← Constant#2 Value 72 Phi ← Constant#2 Value 73 Phi ← Parameter#0 Value 74 Phi ← Parameter#1 Value 75 Phi ← Unbox#9 Value 76 Phi ← MinMax#18 Value 77 Phi ← Constant#51 Value 78 Phi ← Constant#2 Value 79 Phi ← Constant#70 Value 80 Phi ← Parameter#0 Value 82 InterruptCheck 83 Bail 168 Unreachable Block 16 114 Phi ← Constant#2 Value 115 Phi ← Constant#2 Value 116 Phi ← Parameter#0 Value 117 Phi ← Parameter#1 Value 118 Phi ← Unbox#9 Value 119 Phi ← MinMax#18 Value 120 Phi ← Constant#51 Value 121 Phi ← GetFrameArgument#57 Value 122 Phi ← Constant#2 Value 123 Phi ← Parameter#0 Value 134 Goto → block 17 Block 17 (loop header) 124 Phi ← Phi#114, Phi#114 Value 125 Phi ← Phi#115, Phi#115 Value 126 Phi ← Phi#116, Phi#116 Value 127 Phi ← Phi#117, Phi#117 Value 128 Phi ← Phi#118, Phi#118 Value 129 Phi ← Phi#119, Phi#119 Value 130 Phi ← Phi#120, Add#165 Value 131 Phi ← Phi#121, Phi#162 Value 132 Phi ← Phi#122, Phi#122 Value 133 Phi ← Phi#123, Phi#123 Value 135 InterruptCheck 136 Unbox Phi#130 to Int32 (fallible) Int32 137 Unbox Phi#129 to Int32 (fallible) Int32 138 Compare ← Unbox#136, Unbox#137 Lt Bool 139 Test ← Compare#138 → block 18, block 21 1 0 Block 18 140 Unbox Phi#128 to Object (fallible) Object 141 Unbox Phi#130 to Int32 (fallible) Int32 142 GuardShape ← Unbox#140 Object 143 Elements ← GuardShape#142 Elements 144 InitializedLength ← Elements#143 Int32 145 BoundsCheck ← Unbox#141, InitializedLength#144 Int32 146 SpectreMaskIndex ← BoundsCheck#145, InitializedLength#144 Int32 147 GuardElementNotHole ← Elements#143, SpectreMaskIndex#146 148 Constant true Bool 149 Test ← Constant#148 → block 19, block 20 1 0 Block 19 150 Constant undefined Undefined 151 Unbox Phi#128 to Object (fallible) Object 152 Unbox Phi#130 to Int32 (fallible) Int32 153 GuardShape ← Unbox#151 Object 154 Elements ← GuardShape#153 Elements 155 InitializedLength ← Elements#154 Int32 156 BoundsCheck ← Unbox#152, InitializedLength#155 Int32 157 SpectreMaskIndex ← BoundsCheck#156, InitializedLength#155 Int32 158 GuardElementsArePacked ← Elements#154 159 LoadElement ← Elements#154, SpectreMaskIndex#157 Value 160 Call ← Phi#127, Constant#150, Phi#131, LoadElement#159, Phi#130, Phi#128 Value 161 Goto → block 20 Block 20 (backedge) 162 Phi ← Call#160, Phi#131 Value 163 Unbox Phi#130 to Int32 (fallible) Int32 164 Constant 0x1 Int32 165 Add ← Unbox#163, Constant#164 [int32] Int32 166 Goto → block 17 Block 21 167 Return ← Phi#131
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c28560 String 29 Bail 171 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 170 Unreachable Block 4 51 Constant 0x0 Int32 52 ArgumentsLength Int32 53 Constant 0x1 Int32 54 Compare ← ArgumentsLength#52, Constant#53 Gt Bool 55 Test ← Compare#54 → block 5, block 6 1 0 Block 5 56 Constant 0x1 Int32 57 GetFrameArgument ← Constant#56 Value 58 Goto → block 16 Block 6 59 Constant 0x0 Int32 60 Compare ← MinMax#18, Constant#59 StrictEq Bool 61 Test ← Compare#60 → block 7, block 8 1 0 Block 7 62 CallGetIntrinsicValue Value 63 DebugCheckSelfHosted ← CallGetIntrinsicValue#62 Value 64 Constant undefined Undefined 65 Constant 0x34 Int32 66 Bail 169 Unreachable Block 8 70 Constant false Bool 81 Goto → block 9 Block 9 71 Phi ← Constant#2 Value 72 Phi ← Constant#2 Value 73 Phi ← Parameter#0 Value 74 Phi ← Parameter#1 Value 75 Phi ← Unbox#9 Value 76 Phi ← MinMax#18 Value 77 Phi ← Constant#51 Value 78 Phi ← Constant#2 Value 79 Phi ← Constant#70 Value 80 Phi ← Parameter#0 Value 82 InterruptCheck 83 Bail 168 Unreachable Block 16 114 Phi ← Constant#2 Value 115 Phi ← Constant#2 Value 116 Phi ← Parameter#0 Value 117 Phi ← Parameter#1 Value 118 Phi ← Unbox#9 Value 119 Phi ← MinMax#18 Value 120 Phi ← Constant#51 Value 121 Phi ← GetFrameArgument#57 Value 122 Phi ← Constant#2 Value 123 Phi ← Parameter#0 Value 134 Goto → block 17 Block 17 (loop header) 124 Phi ← Phi#114, Phi#114 Value 125 Phi ← Phi#115, Phi#115 Value 126 Phi ← Phi#116, Phi#116 Value 127 Phi ← Phi#117, Phi#117 Value 128 Phi ← Phi#118, Phi#118 Value 129 Phi ← Phi#119, Phi#119 Value 130 Phi ← Phi#120, Add#165 Value 131 Phi ← Phi#121, Phi#162 Value 132 Phi ← Phi#122, Phi#122 Value 133 Phi ← Phi#123, Phi#123 Value 135 InterruptCheck 136 Unbox Phi#130 to Int32 (fallible) Int32 137 Unbox Phi#129 to Int32 (fallible) Int32 138 Compare ← Unbox#136, Unbox#137 Lt Bool 139 Test ← Compare#138 → block 18, block 21 1 0 Block 18 140 Unbox Phi#128 to Object (fallible) Object 141 Unbox Phi#130 to Int32 (fallible) Int32 142 GuardShape ← Unbox#140 Object 143 Elements ← GuardShape#142 Elements 144 InitializedLength ← Elements#143 Int32 145 BoundsCheck ← Unbox#141, InitializedLength#144 Int32 146 SpectreMaskIndex ← BoundsCheck#145, InitializedLength#144 Int32 147 GuardElementNotHole ← Elements#143, SpectreMaskIndex#146 148 Constant true Bool 149 Test ← Constant#148 → block 19, block 20 1 0 Block 19 150 Constant undefined Undefined 151 Unbox Phi#128 to Object (fallible) Object 152 Unbox Phi#130 to Int32 (fallible) Int32 153 GuardShape ← Unbox#151 Object 154 Elements ← GuardShape#153 Elements 155 InitializedLength ← Elements#154 Int32 156 BoundsCheck ← Unbox#152, InitializedLength#155 Int32 157 SpectreMaskIndex ← BoundsCheck#156, InitializedLength#155 Int32 158 GuardElementsArePacked ← Elements#154 159 LoadElement ← Elements#154, SpectreMaskIndex#157 Value 160 Call ← Phi#127, Constant#150, Phi#131, LoadElement#159, Phi#130, Phi#128 Value 161 Goto → block 20 Block 20 (backedge) 162 Phi ← Call#160, Phi#131 Value 163 Unbox Phi#130 to Int32 (fallible) Int32 164 Constant 0x1 Int32 165 Add ← Unbox#163, Constant#164 [int32] Int32 166 Goto → block 17 Block 21 167 Return ← Phi#131
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c28560 String 29 Bail 171 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 170 Unreachable Block 4 51 Constant 0x0 Int32 52 ArgumentsLength Int32 53 Constant 0x1 Int32 54 Compare ← ArgumentsLength#52, Constant#53 Gt Bool 55 Test ← Compare#54 → block 5, block 6 1 0 Block 5 56 Constant 0x1 Int32 57 GetFrameArgument ← Constant#56 Value 58 Goto → block 16 Block 6 59 Constant 0x0 Int32 60 Compare ← MinMax#18, Constant#59 StrictEq Bool 61 Test ← Compare#60 → block 7, block 8 1 0 Block 7 62 CallGetIntrinsicValue Value 63 DebugCheckSelfHosted ← CallGetIntrinsicValue#62 Value 64 Constant undefined Undefined 65 Constant 0x34 Int32 66 Bail 169 Unreachable Block 8 70 Constant false Bool 81 Goto → block 9 Block 9 71 Phi ← Constant#2 Value 72 Phi ← Constant#2 Value 73 Phi ← Parameter#0 Value 74 Phi ← Parameter#1 Value 75 Phi ← Unbox#9 Value 76 Phi ← MinMax#18 Value 77 Phi ← Constant#51 Value 78 Phi ← Constant#2 Value 79 Phi ← Constant#70 Value 80 Phi ← Parameter#0 Value 82 InterruptCheck 83 Bail 168 Unreachable Block 16 114 Phi ← Constant#2 Value 115 Phi ← Constant#2 Value 116 Phi ← Parameter#0 Value 117 Phi ← Parameter#1 Value 118 Phi ← Unbox#9 Value 119 Phi ← MinMax#18 Value 120 Phi ← Constant#51 Value 121 Phi ← GetFrameArgument#57 Value 122 Phi ← Constant#2 Value 123 Phi ← Parameter#0 Value 134 Goto → block 17 Block 17 (loop header) 124 Phi ← Phi#114, Phi#114 Value 125 Phi ← Phi#115, Phi#115 Value 126 Phi ← Phi#116, Phi#116 Value 127 Phi ← Phi#117, Phi#117 Value 128 Phi ← Phi#118, Phi#118 Value 129 Phi ← Phi#119, Phi#119 Value 130 Phi ← Phi#120, Add#165 Value 131 Phi ← Phi#121, Phi#162 Value 132 Phi ← Phi#122, Phi#122 Value 133 Phi ← Phi#123, Phi#123 Value 135 InterruptCheck 136 Unbox Phi#130 to Int32 (fallible) Int32 137 Unbox Phi#129 to Int32 (fallible) Int32 138 Compare ← Unbox#136, Unbox#137 Lt Bool 139 Test ← Compare#138 → block 18, block 21 1 0 Block 18 140 Unbox Phi#128 to Object (fallible) Object 141 Unbox Phi#130 to Int32 (fallible) Int32 142 GuardShape ← Unbox#140 Object 143 Elements ← GuardShape#142 Elements 144 InitializedLength ← Elements#143 Int32 145 BoundsCheck ← Unbox#141, InitializedLength#144 Int32 146 SpectreMaskIndex ← BoundsCheck#145, InitializedLength#144 Int32 147 GuardElementNotHole ← Elements#143, SpectreMaskIndex#146 148 Constant true Bool 149 Test ← Constant#148 → block 19, block 22 1 0 Block 22 (split edge) 172 Goto → block 20 Block 19 150 Constant undefined Undefined 151 Unbox Phi#128 to Object (fallible) Object 152 Unbox Phi#130 to Int32 (fallible) Int32 153 GuardShape ← Unbox#151 Object 154 Elements ← GuardShape#153 Elements 155 InitializedLength ← Elements#154 Int32 156 BoundsCheck ← Unbox#152, InitializedLength#155 Int32 157 SpectreMaskIndex ← BoundsCheck#156, InitializedLength#155 Int32 158 GuardElementsArePacked ← Elements#154 159 LoadElement ← Elements#154, SpectreMaskIndex#157 Value 160 Call ← Phi#127, Constant#150, Phi#131, LoadElement#159, Phi#130, Phi#128 Value 161 Goto → block 20 Block 20 (backedge) 162 Phi ← Call#160, Phi#131 Value 163 Unbox Phi#130 to Int32 (fallible) Int32 164 Constant 0x1 Int32 165 Add ← Unbox#163, Constant#164 [int32] Int32 166 Goto → block 17 Block 21 167 Return ← Phi#131
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c28560 String 29 Bail 171 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 170 Unreachable Block 4 51 Constant 0x0 Int32 52 ArgumentsLength Int32 53 Constant 0x1 Int32 54 Compare ← ArgumentsLength#52, Constant#53 Gt Bool 55 Test ← Compare#54 → block 5, block 6 1 0 Block 5 56 Constant 0x1 Int32 57 GetFrameArgument ← Constant#56 Value 58 Goto → block 10 Block 6 59 Constant 0x0 Int32 60 Compare ← MinMax#18, Constant#59 StrictEq Bool 61 Test ← Compare#60 → block 7, block 8 1 0 Block 7 62 CallGetIntrinsicValue Value 63 DebugCheckSelfHosted ← CallGetIntrinsicValue#62 Value 64 Constant undefined Undefined 65 Constant 0x34 Int32 66 Bail 169 Unreachable Block 8 70 Constant false Bool 81 Goto → block 9 Block 9 71 Phi ← Constant#2 Value 72 Phi ← Constant#2 Value 73 Phi ← Parameter#0 Value 74 Phi ← Parameter#1 Value 75 Phi ← Unbox#9 Value 76 Phi ← MinMax#18 Value 77 Phi ← Constant#51 Value 78 Phi ← Constant#2 Value 79 Phi ← Constant#70 Value 80 Phi ← Parameter#0 Value 82 InterruptCheck 83 Bail 168 Unreachable Block 10 114 Phi ← Constant#2 Value 115 Phi ← Constant#2 Value 116 Phi ← Parameter#0 Value 117 Phi ← Parameter#1 Value 118 Phi ← Unbox#9 Value 119 Phi ← MinMax#18 Value 120 Phi ← Constant#51 Value 121 Phi ← GetFrameArgument#57 Value 122 Phi ← Constant#2 Value 123 Phi ← Parameter#0 Value 134 Goto → block 11 Block 11 (loop header) 124 Phi ← Phi#114, Phi#114 Value 125 Phi ← Phi#115, Phi#115 Value 126 Phi ← Phi#116, Phi#116 Value 127 Phi ← Phi#117, Phi#117 Value 128 Phi ← Phi#118, Phi#118 Value 129 Phi ← Phi#119, Phi#119 Value 130 Phi ← Phi#120, Add#165 Value 131 Phi ← Phi#121, Phi#162 Value 132 Phi ← Phi#122, Phi#122 Value 133 Phi ← Phi#123, Phi#123 Value 135 InterruptCheck 136 Unbox Phi#130 to Int32 (fallible) Int32 137 Unbox Phi#129 to Int32 (fallible) Int32 138 Compare ← Unbox#136, Unbox#137 Lt Bool 139 Test ← Compare#138 → block 12, block 16 1 0 Block 12 140 Unbox Phi#128 to Object (fallible) Object 141 Unbox Phi#130 to Int32 (fallible) Int32 142 GuardShape ← Unbox#140 Object 143 Elements ← GuardShape#142 Elements 144 InitializedLength ← Elements#143 Int32 145 BoundsCheck ← Unbox#141, InitializedLength#144 Int32 146 SpectreMaskIndex ← BoundsCheck#145, InitializedLength#144 Int32 147 GuardElementNotHole ← Elements#143, SpectreMaskIndex#146 148 Constant true Bool 149 Test ← Constant#148 → block 14, block 13 1 0 Block 13 (split edge) 172 Goto → block 15 Block 14 150 Constant undefined Undefined 151 Unbox Phi#128 to Object (fallible) Object 152 Unbox Phi#130 to Int32 (fallible) Int32 153 GuardShape ← Unbox#151 Object 154 Elements ← GuardShape#153 Elements 155 InitializedLength ← Elements#154 Int32 156 BoundsCheck ← Unbox#152, InitializedLength#155 Int32 157 SpectreMaskIndex ← BoundsCheck#156, InitializedLength#155 Int32 158 GuardElementsArePacked ← Elements#154 159 LoadElement ← Elements#154, SpectreMaskIndex#157 Value 160 Call ← Phi#127, Constant#150, Phi#131, LoadElement#159, Phi#130, Phi#128 Value 161 Goto → block 15 Block 15 (backedge) 162 Phi ← Call#160, Phi#131 Value 163 Unbox Phi#130 to Int32 (fallible) Int32 164 Constant 0x1 Int32 165 Add ← Unbox#163, Constant#164 [int32] Int32 166 Goto → block 11 Block 16 167 Return ← Phi#131
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c28560 String 29 Bail 171 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 170 Unreachable Block 4 51 Constant 0x0 Int32 52 ArgumentsLength Int32 53 Constant 0x1 Int32 54 Compare ← ArgumentsLength#52, Constant#53 Gt Bool 55 Test ← Compare#54 → block 5, block 6 1 0 Block 5 56 Constant 0x1 Int32 57 GetFrameArgument ← Constant#56 Value 58 Goto → block 10 Block 6 59 Constant 0x0 Int32 60 Compare ← MinMax#18, Constant#59 StrictEq Bool 61 Test ← Compare#60 → block 7, block 8 1 0 Block 7 62 CallGetIntrinsicValue Value 63 DebugCheckSelfHosted ← CallGetIntrinsicValue#62 Value 64 Constant undefined Undefined 65 Constant 0x34 Int32 66 Bail 169 Unreachable Block 8 70 Constant false Bool 81 Goto → block 9 Block 9 82 InterruptCheck 83 Bail 168 Unreachable Block 10 134 Goto → block 11 Block 11 (loop header) 130 Phi ← Constant#51, Add#165 Value 131 Phi ← GetFrameArgument#57, Phi#162 Value 135 InterruptCheck 136 Unbox Phi#130 to Int32 (fallible) Int32 137 Unbox MinMax#18 to Int32 (fallible) Int32 138 Compare ← Unbox#136, Unbox#137 Lt Bool 139 Test ← Compare#138 → block 12, block 16 1 0 Block 12 140 Unbox Unbox#9 to Object (fallible) Object 141 Unbox Phi#130 to Int32 (fallible) Int32 142 GuardShape ← Unbox#140 Object 143 Elements ← GuardShape#142 Elements 144 InitializedLength ← Elements#143 Int32 145 BoundsCheck ← Unbox#141, InitializedLength#144 Int32 146 SpectreMaskIndex ← BoundsCheck#145, InitializedLength#144 Int32 147 GuardElementNotHole ← Elements#143, SpectreMaskIndex#146 148 Constant true Bool 149 Test ← Constant#148 → block 14, block 13 1 0 Block 13 (split edge) 172 Goto → block 15 Block 14 150 Constant undefined Undefined 151 Unbox Unbox#9 to Object (fallible) Object 152 Unbox Phi#130 to Int32 (fallible) Int32 153 GuardShape ← Unbox#151 Object 154 Elements ← GuardShape#153 Elements 155 InitializedLength ← Elements#154 Int32 156 BoundsCheck ← Unbox#152, InitializedLength#155 Int32 157 SpectreMaskIndex ← BoundsCheck#156, InitializedLength#155 Int32 158 GuardElementsArePacked ← Elements#154 159 LoadElement ← Elements#154, SpectreMaskIndex#157 Value 160 Call ← Parameter#1, Constant#150, Phi#131, LoadElement#159, Phi#130, Unbox#9 Value 161 Goto → block 15 Block 15 (backedge) 162 Phi ← Call#160, Phi#131 Value 163 Unbox Phi#130 to Int32 (fallible) Int32 164 Constant 0x1 Int32 165 Add ← Unbox#163, Constant#164 [int32] Int32 166 Goto → block 11 Block 16 167 Return ← Phi#131
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c28560 String 29 Bail 171 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 170 Unreachable Block 4 51 Constant 0x0 Int32 52 ArgumentsLength Int32 53 Constant 0x1 Int32 54 Compare ← ArgumentsLength#52, Constant#53 Gt Bool 55 Test ← Compare#54 → block 5, block 6 1 0 Block 5 56 Constant 0x1 Int32 57 GetFrameArgument ← Constant#56 Value 58 Goto → block 10 Block 6 59 Constant 0x0 Int32 60 Compare ← MinMax#18, Constant#59 StrictEq Bool 61 Test ← Compare#60 → block 7, block 8 1 0 Block 7 62 CallGetIntrinsicValue Value 63 DebugCheckSelfHosted ← CallGetIntrinsicValue#62 Value 64 Constant undefined Undefined 65 Constant 0x34 Int32 66 Bail 169 Unreachable Block 8 70 Constant false Bool 81 Goto → block 9 Block 9 82 InterruptCheck 83 Bail 168 Unreachable Block 10 134 Goto → block 11 Block 11 (loop header) 130 Phi ← Constant#51, Add#165 Value 131 Phi ← GetFrameArgument#57, Phi#162 Value 135 InterruptCheck 136 Unbox Phi#130 to Int32 (fallible) Int32 137 Unbox MinMax#18 to Int32 (fallible) Int32 138 Compare ← Unbox#136, Unbox#137 Lt Bool 139 Test ← Compare#138 → block 12, block 16 1 0 Block 12 140 Unbox Unbox#9 to Object (fallible) Object 141 Unbox Phi#130 to Int32 (fallible) Int32 142 GuardShape ← Unbox#140 Object 143 Elements ← GuardShape#142 Elements 144 InitializedLength ← Elements#143 Int32 145 BoundsCheck ← Unbox#141, InitializedLength#144 Int32 146 SpectreMaskIndex ← BoundsCheck#145, InitializedLength#144 Int32 147 GuardElementNotHole ← Elements#143, SpectreMaskIndex#146 148 Constant true Bool 149 Test ← Constant#148 → block 14, block 13 1 0 Block 13 (split edge) 172 Goto → block 15 Block 14 150 Constant undefined Undefined 151 Unbox Unbox#9 to Object (fallible) Object 152 Unbox Phi#130 to Int32 (fallible) Int32 153 GuardShape ← Unbox#151 Object 154 Elements ← GuardShape#153 Elements 155 InitializedLength ← Elements#154 Int32 156 BoundsCheck ← Unbox#152, InitializedLength#155 Int32 157 SpectreMaskIndex ← BoundsCheck#156, InitializedLength#155 Int32 158 GuardElementsArePacked ← Elements#154 159 LoadElement ← Elements#154, SpectreMaskIndex#157 Value 160 Call ← Parameter#1, Constant#150, Phi#131, LoadElement#159, Phi#130, Unbox#9 Value 161 Goto → block 15 Block 15 (backedge) 162 Phi ← Call#160, Phi#131 Value 163 Unbox Phi#130 to Int32 (fallible) Int32 164 Constant 0x1 Int32 165 Add ← Unbox#163, Constant#164 [int32] Int32 166 Goto → block 11 Block 16 167 Return ← Phi#131
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c28560 String 29 Bail 171 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 170 Unreachable Block 4 51 Constant 0x0 Int32 52 ArgumentsLength Int32 53 Constant 0x1 Int32 54 Compare ← ArgumentsLength#52, Constant#53 Gt Bool 55 Test ← Compare#54 → block 5, block 6 1 0 Block 5 56 Constant 0x1 Int32 57 GetFrameArgument ← Constant#56 Value 58 Goto → block 10 Block 6 59 Constant 0x0 Int32 60 Compare ← MinMax#18, Constant#59 StrictEq Bool 61 Test ← Compare#60 → block 7, block 8 1 0 Block 7 62 CallGetIntrinsicValue Value 63 DebugCheckSelfHosted ← CallGetIntrinsicValue#62 Value 64 Constant undefined Undefined 65 Constant 0x34 Int32 66 Bail 169 Unreachable Block 8 70 Constant false Bool 81 Goto → block 9 Block 9 82 InterruptCheck 83 Bail 168 Unreachable Block 10 134 Goto → block 11 Block 11 (loop header) 130 Phi ← Constant#51, Add#165 Value 131 Phi ← GetFrameArgument#57, Phi#162 Value 135 InterruptCheck 136 Unbox Phi#130 to Int32 (fallible) Int32 137 Unbox MinMax#18 to Int32 (fallible) Int32 138 Compare ← Unbox#136, Unbox#137 Lt Bool 139 Test ← Compare#138 → block 12, block 16 1 0 Block 12 140 Unbox Unbox#9 to Object (fallible) Object 141 Unbox Phi#130 to Int32 (fallible) Int32 142 GuardShape ← Unbox#140 Object 143 Elements ← GuardShape#142 Elements 144 InitializedLength ← Elements#143 Int32 145 BoundsCheck ← Unbox#141, InitializedLength#144 Int32 146 SpectreMaskIndex ← BoundsCheck#145, InitializedLength#144 Int32 147 GuardElementNotHole ← Elements#143, SpectreMaskIndex#146 148 Constant true Bool 149 Test ← Constant#148 → block 14, block 13 1 0 Block 13 (split edge) 172 Goto → block 15 Block 14 150 Constant undefined Undefined 151 Unbox Unbox#9 to Object (fallible) Object 152 Unbox Phi#130 to Int32 (fallible) Int32 153 GuardShape ← Unbox#151 Object 154 Elements ← GuardShape#153 Elements 155 InitializedLength ← Elements#154 Int32 156 BoundsCheck ← Unbox#152, InitializedLength#155 Int32 157 SpectreMaskIndex ← BoundsCheck#156, InitializedLength#155 Int32 158 GuardElementsArePacked ← Elements#154 159 LoadElement ← Elements#154, SpectreMaskIndex#157 Value 160 Call ← Parameter#1, Constant#150, Phi#131, LoadElement#159, Phi#130, Unbox#9 Value 161 Goto → block 15 Block 15 (backedge) 162 Phi ← Call#160, Phi#131 Value 163 Unbox Phi#130 to Int32 (fallible) Int32 164 Constant 0x1 Int32 165 Add ← Unbox#163, Constant#164 [int32] Int32 166 Goto → block 11 Block 16 167 Return ← Phi#131
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c28560 String 29 Bail 171 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 170 Unreachable Block 4 51 Constant 0x0 Int32 52 ArgumentsLength Int32 53 Constant 0x1 Int32 54 Compare ← ArgumentsLength#52, Constant#53 Gt Bool 55 Test ← Compare#54 → block 5, block 6 1 0 Block 5 56 Constant 0x1 Int32 57 GetFrameArgument ← Constant#56 Value 58 Goto → block 10 Block 6 59 Constant 0x0 Int32 60 Compare ← MinMax#18, Constant#59 StrictEq Bool 61 Test ← Compare#60 → block 7, block 8 1 0 Block 7 62 CallGetIntrinsicValue Value 63 DebugCheckSelfHosted ← CallGetIntrinsicValue#62 Value 64 Constant undefined Undefined 65 Constant 0x34 Int32 66 Bail 169 Unreachable Block 8 70 Constant false Bool 81 Goto → block 9 Block 9 82 InterruptCheck 83 Bail 168 Unreachable Block 10 134 Goto → block 11 Block 11 (loop header) 130 Phi ← Constant#51, Add#165 Value 131 Phi ← GetFrameArgument#57, Phi#162 Value 135 InterruptCheck 136 Unbox Phi#130 to Int32 (fallible) Int32 137 Unbox MinMax#18 to Int32 (fallible) Int32 138 Compare ← Unbox#136, Unbox#137 Lt Bool 139 Test ← Compare#138 → block 12, block 16 1 0 Block 12 140 Unbox Unbox#9 to Object (fallible) Object 141 Unbox Phi#130 to Int32 (fallible) Int32 142 GuardShape ← Unbox#140 Object 143 Elements ← GuardShape#142 Elements 144 InitializedLength ← Elements#143 Int32 145 BoundsCheck ← Unbox#141, InitializedLength#144 Int32 146 SpectreMaskIndex ← BoundsCheck#145, InitializedLength#144 Int32 147 GuardElementNotHole ← Elements#143, SpectreMaskIndex#146 148 Constant true Bool 149 Test ← Constant#148 → block 14, block 13 1 0 Block 13 (split edge) 172 Goto → block 15 Block 14 150 Constant undefined Undefined 151 Unbox Unbox#9 to Object (fallible) Object 152 Unbox Phi#130 to Int32 (fallible) Int32 153 GuardShape ← Unbox#151 Object 154 Elements ← GuardShape#153 Elements 155 InitializedLength ← Elements#154 Int32 156 BoundsCheck ← Unbox#152, InitializedLength#155 Int32 157 SpectreMaskIndex ← BoundsCheck#156, InitializedLength#155 Int32 158 GuardElementsArePacked ← Elements#154 159 LoadElement ← Elements#154, SpectreMaskIndex#157 Value 160 Call ← Parameter#1, Constant#150, Phi#131, LoadElement#159, Phi#130, Unbox#9 Value 161 Goto → block 15 Block 15 (backedge) 162 Phi ← Call#160, Phi#131 Value 163 Unbox Phi#130 to Int32 (fallible) Int32 164 Constant 0x1 Int32 165 Add ← Unbox#163, Constant#164 [int32] Int32 166 Goto → block 11 Block 16 167 Return ← Phi#131
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 173 Box ← Constant#5 Value 6 DebugCheckSelfHosted ← Box#173 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 174 Box ← Constant#10 Value 11 DebugCheckSelfHosted ← Box#174 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c28560 String 29 Bail 171 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 175 Box ← Constant#32 Value 33 DebugCheckSelfHosted ← Box#175 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 170 Unreachable Block 4 51 Constant 0x0 Int32 52 ArgumentsLength Int32 53 Constant 0x1 Int32 54 Compare ← ArgumentsLength#52, Constant#53 Gt Bool 55 Test ← Compare#54 → block 5, block 6 1 0 Block 5 56 Constant 0x1 Int32 57 GetFrameArgument ← Constant#56 Value 58 Goto → block 10 Block 6 59 Constant 0x0 Int32 60 Compare ← MinMax#18, Constant#59 StrictEq Bool 61 Test ← Compare#60 → block 7, block 8 1 0 Block 7 62 CallGetIntrinsicValue Value 63 DebugCheckSelfHosted ← CallGetIntrinsicValue#62 Value 64 Constant undefined Undefined 65 Constant 0x34 Int32 66 Bail 169 Unreachable Block 8 70 Constant false Bool 81 Goto → block 9 Block 9 82 InterruptCheck 83 Bail 168 Unreachable Block 10 134 Goto → block 11 Block 11 (loop header) 130 Phi ← Constant#51, Add#165 Int32 131 Phi ← GetFrameArgument#57, Phi#162 Value 135 InterruptCheck 176 Box ← Phi#130 Value 136 Unbox Box#176 to Int32 (fallible) Int32 177 Box ← MinMax#18 Value 137 Unbox Box#177 to Int32 (fallible) Int32 138 Compare ← Unbox#136, Unbox#137 Lt Bool 139 Test ← Compare#138 → block 12, block 16 1 0 Block 12 178 Box ← Unbox#9 Value 140 Unbox Box#178 to Object (fallible) Object 179 Box ← Phi#130 Value 141 Unbox Box#179 to Int32 (fallible) Int32 142 GuardShape ← Unbox#140 Object 143 Elements ← GuardShape#142 Elements 144 InitializedLength ← Elements#143 Int32 145 BoundsCheck ← Unbox#141, InitializedLength#144 Int32 146 SpectreMaskIndex ← BoundsCheck#145, InitializedLength#144 Int32 147 GuardElementNotHole ← Elements#143, SpectreMaskIndex#146 148 Constant true Bool 149 Test ← Constant#148 → block 14, block 13 1 0 Block 13 (split edge) 172 Goto → block 15 Block 14 150 Constant undefined Undefined 180 Box ← Unbox#9 Value 151 Unbox Box#180 to Object (fallible) Object 181 Box ← Phi#130 Value 152 Unbox Box#181 to Int32 (fallible) Int32 153 GuardShape ← Unbox#151 Object 154 Elements ← GuardShape#153 Elements 155 InitializedLength ← Elements#154 Int32 156 BoundsCheck ← Unbox#152, InitializedLength#155 Int32 157 SpectreMaskIndex ← BoundsCheck#156, InitializedLength#155 Int32 158 GuardElementsArePacked ← Elements#154 159 LoadElement ← Elements#154, SpectreMaskIndex#157 Value 182 Unbox Parameter#1 to Object (fallible) Object 160 Call ← Unbox#182, Constant#150, Phi#131, LoadElement#159, Phi#130, Unbox#9 Value 161 Goto → block 15 Block 15 (backedge) 162 Phi ← Call#160, Phi#131 Value 183 Box ← Phi#130 Value 163 Unbox Box#183 to Int32 (fallible) Int32 164 Constant 0x1 Int32 165 Add ← Unbox#163, Constant#164 [int32] Int32 166 Goto → block 11 Block 16 167 Return ← Phi#131
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Constant undefined Undefined 9 Constant 0x1 Int32 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 14 Constant undefined Undefined 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 Int32 18 Constant 0x1 Int32 19 Constant 0x0 Int32 20 MinMax ← ArrayLength#17, Constant#19 (max) Int32 21 ArgumentsLength Int32 22 Constant 0x0 Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 27 Constant undefined Undefined 28 Constant 0x37 Int32 29 Constant 0x0 Int32 30 Constant string 104289c28560 String 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 36 Constant undefined Undefined 37 Constant 0x1 Int32 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 42 Constant undefined Undefined 43 Constant 0xc Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 46 Constant undefined Undefined 47 Constant 0x0 Int32 48 Bail 49 Unreachable Block 4 50 Constant 0x0 Int32 51 ArgumentsLength Int32 52 Constant 0x1 Int32 53 Compare ← ArgumentsLength#51, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 55 Constant 0x1 Int32 56 GetFrameArgument ← Constant#55 Value 57 Goto → block 10 Block 6 58 Constant 0x0 Int32 59 Compare ← MinMax#20, Constant#58 StrictEq Bool 60 Test ← Compare#59 → block 7, block 8 1 0 Block 7 61 CallGetIntrinsicValue Value 62 DebugCheckSelfHosted ← CallGetIntrinsicValue#61 Value 63 Constant undefined Undefined 64 Constant 0x34 Int32 65 Bail 66 Unreachable Block 8 67 Constant false Bool 68 Goto → block 9 Block 9 69 InterruptCheck 70 Bail 71 Unreachable Block 10 72 Goto → block 11 Block 11 (loop header) 73 Phi ← Constant#50, Add#114 Int32 74 Phi ← GetFrameArgument#56, Phi#110 Value 75 InterruptCheck 76 Box ← Phi#73 Value 77 Unbox Box#76 to Int32 (fallible) Int32 78 Box ← MinMax#20 Value 79 Unbox Box#78 to Int32 (fallible) Int32 80 Compare ← Unbox#77, Unbox#79 Lt Bool 81 Test ← Compare#80 → block 12, block 16 1 0 Block 12 82 Box ← Unbox#10 Value 83 Unbox Box#82 to Object (fallible) Object 84 Box ← Phi#73 Value 85 Unbox Box#84 to Int32 (fallible) Int32 86 GuardShape ← Unbox#83 Object 87 Elements ← GuardShape#86 Elements 88 InitializedLength ← Elements#87 Int32 89 BoundsCheck ← Unbox#85, InitializedLength#88 Int32 90 SpectreMaskIndex ← BoundsCheck#89, InitializedLength#88 Int32 91 GuardElementNotHole ← Elements#87, SpectreMaskIndex#90 92 Constant true Bool 93 Test ← Constant#92 → block 14, block 13 1 0 Block 13 (split edge) 94 Goto → block 15 Block 14 95 Constant undefined Undefined 96 Box ← Unbox#10 Value 97 Unbox Box#96 to Object (fallible) Object 98 Box ← Phi#73 Value 99 Unbox Box#98 to Int32 (fallible) Int32 100 GuardShape ← Unbox#97 Object 101 Elements ← GuardShape#100 Elements 102 InitializedLength ← Elements#101 Int32 103 BoundsCheck ← Unbox#99, InitializedLength#102 Int32 104 SpectreMaskIndex ← BoundsCheck#103, InitializedLength#102 Int32 105 GuardElementsArePacked ← Elements#101 106 LoadElement ← Elements#101, SpectreMaskIndex#104 Value 107 Unbox Parameter#1 to Object (fallible) Object 108 Call ← Unbox#107, Constant#95, Phi#74, LoadElement#106, Phi#73, Unbox#10 Value 109 Goto → block 15 Block 15 (backedge) 110 Phi ← Call#108, Phi#74 Value 111 Box ← Phi#73 Value 112 Unbox Box#111 to Int32 (fallible) Int32 113 Constant 0x1 Int32 114 Add ← Unbox#112, Constant#113 [int32] Int32 115 Goto → block 11 Block 16 116 Return ← Phi#74
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Constant undefined Undefined 9 Constant 0x1 Int32 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 14 Constant undefined Undefined 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 Int32 18 Constant 0x1 Int32 19 Constant 0x0 Int32 20 MinMax ← ArrayLength#17, Constant#19 (max) Int32 21 ArgumentsLength Int32 22 Constant 0x0 Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 27 Constant undefined Undefined 28 Constant 0x37 Int32 29 Constant 0x0 Int32 30 Constant string 104289c28560 String 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 36 Constant undefined Undefined 37 Constant 0x1 Int32 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 42 Constant undefined Undefined 43 Constant 0xc Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 46 Constant undefined Undefined 47 Constant 0x0 Int32 48 Bail 49 Unreachable Block 4 50 Constant 0x0 Int32 51 ArgumentsLength Int32 52 Constant 0x1 Int32 53 Compare ← ArgumentsLength#51, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 55 Constant 0x1 Int32 56 GetFrameArgument ← Constant#55 Value 57 Goto → block 10 Block 6 58 Constant 0x0 Int32 59 Compare ← MinMax#20, Constant#58 StrictEq Bool 60 Test ← Compare#59 → block 7, block 8 1 0 Block 7 61 CallGetIntrinsicValue Value 62 DebugCheckSelfHosted ← CallGetIntrinsicValue#61 Value 63 Constant undefined Undefined 64 Constant 0x34 Int32 65 Bail 66 Unreachable Block 8 67 Constant false Bool 68 Goto → block 9 Block 9 69 InterruptCheck 70 Bail 71 Unreachable Block 10 72 Goto → block 11 Block 11 (loop header) 73 Phi ← Constant#50, Add#114 Int32 74 Phi ← GetFrameArgument#56, Phi#110 Value 75 InterruptCheck 76 Box ← Phi#73 Value 77 Unbox Box#76 to Int32 (fallible) Int32 78 Box ← MinMax#20 Value 79 Unbox Box#78 to Int32 (fallible) Int32 80 Compare ← Unbox#77, Unbox#79 Lt Bool 81 Test ← Compare#80 → block 12, block 16 1 0 Block 12 82 Box ← Unbox#10 Value 83 Unbox Box#82 to Object (fallible) Object 84 Box ← Phi#73 Value 85 Unbox Box#84 to Int32 (fallible) Int32 86 GuardShape ← Unbox#83 Object 87 Elements ← GuardShape#86 Elements 88 InitializedLength ← Elements#87 Int32 89 BoundsCheck ← Unbox#85, InitializedLength#88 Int32 90 SpectreMaskIndex ← BoundsCheck#89, InitializedLength#88 Int32 91 GuardElementNotHole ← Elements#87, SpectreMaskIndex#90 92 Constant true Bool 93 Test ← Constant#92 → block 14, block 13 1 0 Block 13 (split edge) 94 Goto → block 15 Block 14 95 Constant undefined Undefined 96 Box ← Unbox#10 Value 97 Unbox Box#96 to Object (fallible) Object 98 Box ← Phi#73 Value 99 Unbox Box#98 to Int32 (fallible) Int32 100 GuardShape ← Unbox#97 Object 101 Elements ← GuardShape#100 Elements 102 InitializedLength ← Elements#101 Int32 103 BoundsCheck ← Unbox#99, InitializedLength#102 Int32 104 SpectreMaskIndex ← BoundsCheck#103, InitializedLength#102 Int32 105 GuardElementsArePacked ← Elements#101 106 LoadElement ← Elements#101, SpectreMaskIndex#104 Value 107 Unbox Parameter#1 to Object (fallible) Object 108 Call ← Unbox#107, Constant#95, Phi#74, LoadElement#106, Phi#73, Unbox#10 Value 109 Goto → block 15 Block 15 (backedge) 110 Phi ← Call#108, Phi#74 Value 111 Box ← Phi#73 Value 112 Unbox Box#111 to Int32 (fallible) Int32 113 Constant 0x1 Int32 114 Add ← Unbox#112, Constant#113 [int32] Int32 115 Goto → block 11 Block 16 116 Return ← Phi#74
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 Int32 21 ArgumentsLength Int32 22 Constant 0x0 Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 52 Constant 0x1 Int32 53 Compare ← ArgumentsLength#21, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 56 GetFrameArgument ← Constant#52 Value 57 Goto → block 10 Block 6 59 Compare ← ArrayLength#17, Constant#22 StrictEq Bool 60 Test ← Compare#59 → block 7, block 8 1 0 Block 7 61 CallGetIntrinsicValue Value 62 DebugCheckSelfHosted ← CallGetIntrinsicValue#61 Value 65 Bail 66 Unreachable Block 8 67 Constant false Bool 68 Goto → block 9 Block 9 69 InterruptCheck 70 Bail 71 Unreachable Block 10 72 Goto → block 11 Block 11 (loop header) 73 Phi ← Constant#22, Add#114 Int32 74 Phi ← GetFrameArgument#56, Call#108 Value 75 InterruptCheck 80 Compare ← Phi#73, ArrayLength#17 Lt Bool 81 Test ← Compare#80 → block 12, block 15 1 0 Block 12 86 GuardShape ← Unbox#10 Object 87 Elements ← GuardShape#86 Elements 88 InitializedLength ← Elements#87 Int32 89 BoundsCheck ← Phi#73, InitializedLength#88 Int32 90 SpectreMaskIndex ← BoundsCheck#89, InitializedLength#88 Int32 91 GuardElementNotHole ← Elements#87, SpectreMaskIndex#90 184 Goto → block 13 Block 13 105 GuardElementsArePacked ← Elements#87 106 LoadElement ← Elements#87, SpectreMaskIndex#90 Value 107 Unbox Parameter#1 to Object (fallible) Object 108 Call ← Unbox#107, Constant#2, Phi#74, LoadElement#106, Phi#73, Unbox#10 Value 109 Goto → block 14 Block 14 (backedge) 114 Add ← Phi#73, Constant#52 [int32] Int32 115 Goto → block 11 Block 15 116 Return ← Phi#74
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 Int32 21 ArgumentsLength Int32 22 Constant 0x0 Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 52 Constant 0x1 Int32 53 Compare ← ArgumentsLength#21, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 56 GetFrameArgument ← Constant#52 Value 57 Goto → block 10 Block 6 59 Compare ← ArrayLength#17, Constant#22 StrictEq Bool 60 Test ← Compare#59 → block 7, block 8 1 0 Block 7 61 CallGetIntrinsicValue Value 62 DebugCheckSelfHosted ← CallGetIntrinsicValue#61 Value 65 Bail 66 Unreachable Block 8 67 Constant false Bool 68 Goto → block 9 Block 9 69 InterruptCheck 70 Bail 71 Unreachable Block 10 107 Unbox Parameter#1 to Object (fallible) Object 72 Goto → block 11 Block 11 (loop header) 73 Phi ← Constant#22, Add#114 Int32 74 Phi ← GetFrameArgument#56, Call#108 Value 75 InterruptCheck 80 Compare ← Phi#73, ArrayLength#17 Lt Bool 81 Test ← Compare#80 → block 12, block 15 1 0 Block 12 86 GuardShape ← Unbox#10 Object 87 Elements ← GuardShape#86 Elements 88 InitializedLength ← Elements#87 Int32 89 BoundsCheck ← Phi#73, InitializedLength#88 Int32 90 SpectreMaskIndex ← BoundsCheck#89, InitializedLength#88 Int32 91 GuardElementNotHole ← Elements#87, SpectreMaskIndex#90 184 Goto → block 13 Block 13 105 GuardElementsArePacked ← Elements#87 106 LoadElement ← Elements#87, SpectreMaskIndex#90 Value 108 Call ← Unbox#107, Constant#2, Phi#74, LoadElement#106, Phi#73, Unbox#10 Value 109 Goto → block 14 Block 14 (backedge) 114 Add ← Phi#73, Constant#52 [int32] Int32 115 Goto → block 11 Block 15 116 Return ← Phi#74
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 Int32 21 ArgumentsLength Int32 22 Constant 0x0 Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 192 Beta ← ArgumentsLength#21 I[0, 0] Int32 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 191 Beta ← ArgumentsLength#21 F[?, ?] (U NaN U -Infinity U Infinity) Int32 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 52 Constant 0x1 Int32 53 Compare ← Beta#191, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 190 Beta ← Beta#191 F[2, ?] (U Infinity) Int32 56 GetFrameArgument ← Constant#52 Value 57 Goto → block 10 Block 6 189 Beta ← Beta#191 F[?, 1] (U NaN U -Infinity U -0) Int32 59 Compare ← ArrayLength#17, Constant#22 StrictEq Bool 60 Test ← Compare#59 → block 7, block 8 1 0 Block 7 188 Beta ← ArrayLength#17 I[0, 0] Int32 61 CallGetIntrinsicValue Value 62 DebugCheckSelfHosted ← CallGetIntrinsicValue#61 Value 65 Bail 66 Unreachable Block 8 187 Beta ← ArrayLength#17 F[?, ?] (U NaN U -Infinity U Infinity) Int32 67 Constant false Bool 68 Goto → block 9 Block 9 69 InterruptCheck 70 Bail 71 Unreachable Block 10 107 Unbox Parameter#1 to Object (fallible) Object 72 Goto → block 11 Block 11 (loop header) 73 Phi ← Constant#22, Add#114 Int32 74 Phi ← GetFrameArgument#56, Call#108 Value 75 InterruptCheck 80 Compare ← Phi#73, ArrayLength#17 Lt Bool 81 Test ← Compare#80 → block 12, block 15 1 0 Block 12 186 Beta ← ArrayLength#17 I[-2147483647, 2147483647] Int32 185 Beta ← Phi#73 I[-2147483648, 2147483646] Int32 86 GuardShape ← Unbox#10 Object 87 Elements ← GuardShape#86 Elements 88 InitializedLength ← Elements#87 Int32 89 BoundsCheck ← Beta#185, InitializedLength#88 Int32 90 SpectreMaskIndex ← BoundsCheck#89, InitializedLength#88 Int32 91 GuardElementNotHole ← Elements#87, SpectreMaskIndex#90 184 Goto → block 13 Block 13 105 GuardElementsArePacked ← Elements#87 106 LoadElement ← Elements#87, SpectreMaskIndex#90 Value 108 Call ← Unbox#107, Constant#2, Phi#74, LoadElement#106, Beta#185, Unbox#10 Value 109 Goto → block 14 Block 14 (backedge) 114 Add ← Beta#185, Constant#52 [int32] Int32 115 Goto → block 11 Block 15 116 Return ← Phi#74
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 I[0, 2147483647]: Int32 21 ArgumentsLength I[0, 500000]: Int32 22 Constant 0x0 I[0, 0]: Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 192 Beta ← ArgumentsLength#21 I[0, 0] I[0, 0]: Int32 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 191 Beta ← ArgumentsLength#21 F[?, ?] (U NaN U -Infinity U Infinity) I[0, 500000]: Int32 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc I[12, 12]: Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 52 Constant 0x1 I[1, 1]: Int32 53 Compare ← Beta#191, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 190 Beta ← Beta#191 F[2, ?] (U Infinity) I[2, 500000]: Int32 56 GetFrameArgument ← Constant#52 Value 57 Goto → block 10 Block 6 189 Beta ← Beta#191 F[?, 1] (U NaN U -Infinity U -0) I[0, 1] (U -0): Int32 59 Compare ← ArrayLength#17, Constant#22 StrictEq Bool 60 Test ← Compare#59 → block 7, block 8 1 0 Block 7 188 Beta ← ArrayLength#17 I[0, 0] I[0, 0]: Int32 61 CallGetIntrinsicValue Value 62 DebugCheckSelfHosted ← CallGetIntrinsicValue#61 Value 65 Bail 66 Unreachable Block 8 187 Beta ← ArrayLength#17 F[?, ?] (U NaN U -Infinity U Infinity) I[0, 2147483647]: Int32 67 Constant false I[0, 0]: Bool 68 Goto → block 9 Block 9 69 InterruptCheck 70 Bail 71 Unreachable Block 10 107 Unbox Parameter#1 to Object (fallible) Object 72 Goto → block 11 Block 11 (loop header) 73 Phi ← Constant#22, Add#114 I[0 {}, 2147483647 {[loop] #17-1}]: Int32 74 Phi ← GetFrameArgument#56, Call#108 Value 75 InterruptCheck 80 Compare ← Phi#73, ArrayLength#17 Lt Bool 81 Test ← Compare#80 → block 12, block 15 1 0 Block 12 186 Beta ← ArrayLength#17 I[-2147483647, 2147483647] I[0, 2147483647]: Int32 185 Beta ← Phi#73 I[-2147483648, 2147483646] I[0, 2147483646]: Int32 86 GuardShape ← Unbox#10 Object 87 Elements ← GuardShape#86 Elements 88 InitializedLength ← Elements#87 I[0, 268435453]: Int32 89 BoundsCheck ← Beta#185, InitializedLength#88 I[0, 2147483646]: Int32 90 SpectreMaskIndex ← BoundsCheck#89, InitializedLength#88 I[0, 2147483646]: Int32 91 GuardElementNotHole ← Elements#87, SpectreMaskIndex#90 184 Goto → block 13 Block 13 105 GuardElementsArePacked ← Elements#87 106 LoadElement ← Elements#87, SpectreMaskIndex#90 Value 108 Call ← Unbox#107, Constant#2, Phi#74, LoadElement#106, Beta#185, Unbox#10 Value 109 Goto → block 14 Block 14 (backedge) 114 Add ← Beta#185, Constant#52 [int32] I[1, 2147483647]: Int32 115 Goto → block 11 Block 15 116 Return ← Phi#74
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 I[0, 2147483647]: Int32 21 ArgumentsLength I[0, 500000]: Int32 22 Constant 0x0 I[0, 0]: Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc I[12, 12]: Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 52 Constant 0x1 I[1, 1]: Int32 53 Compare ← ArgumentsLength#21, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 56 GetFrameArgument ← Constant#52 Value 57 Goto → block 10 Block 6 59 Compare ← ArrayLength#17, Constant#22 StrictEq Bool 60 Test ← Compare#59 → block 7, block 8 1 0 Block 7 61 CallGetIntrinsicValue Value 62 DebugCheckSelfHosted ← CallGetIntrinsicValue#61 Value 65 Bail 66 Unreachable Block 8 67 Constant false I[0, 0]: Bool 68 Goto → block 9 Block 9 69 InterruptCheck 70 Bail 71 Unreachable Block 10 107 Unbox Parameter#1 to Object (fallible) Object 72 Goto → block 11 Block 11 (loop header) 73 Phi ← Constant#22, Add#114 I[0 {}, 2147483647 {[loop] #17-1}]: Int32 74 Phi ← GetFrameArgument#56, Call#108 Value 75 InterruptCheck 80 Compare ← Phi#73, ArrayLength#17 Lt Bool 81 Test ← Compare#80 → block 12, block 15 1 0 Block 12 86 GuardShape ← Unbox#10 Object 87 Elements ← GuardShape#86 Elements 88 InitializedLength ← Elements#87 I[0, 268435453]: Int32 89 BoundsCheck ← Phi#73, InitializedLength#88 I[0, 2147483646]: Int32 90 SpectreMaskIndex ← BoundsCheck#89, InitializedLength#88 I[0, 2147483646]: Int32 91 GuardElementNotHole ← Elements#87, SpectreMaskIndex#90 184 Goto → block 13 Block 13 105 GuardElementsArePacked ← Elements#87 106 LoadElement ← Elements#87, SpectreMaskIndex#90 Value 108 Call ← Unbox#107, Constant#2, Phi#74, LoadElement#106, Phi#73, Unbox#10 Value 109 Goto → block 14 Block 14 (backedge) 114 Add ← Phi#73, Constant#52 [int32] I[1, 2147483647]: Int32 115 Goto → block 11 Block 15 116 Return ← Phi#74
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 I[0, 2147483647]: Int32 21 ArgumentsLength I[0, 500000]: Int32 22 Constant 0x0 I[0, 0]: Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc I[12, 12]: Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 52 Constant 0x1 I[1, 1]: Int32 53 Compare ← ArgumentsLength#21, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 56 GetFrameArgument ← Constant#52 Value 57 Goto → block 10 Block 6 59 Compare ← ArrayLength#17, Constant#22 StrictEq Bool 60 Test ← Compare#59 → block 7, block 8 1 0 Block 7 61 CallGetIntrinsicValue Value 62 DebugCheckSelfHosted ← CallGetIntrinsicValue#61 Value 65 Bail 66 Unreachable Block 8 67 Constant false I[0, 0]: Bool 68 Goto → block 9 Block 9 69 InterruptCheck 70 Bail 71 Unreachable Block 10 107 Unbox Parameter#1 to Object (fallible) Object 72 Goto → block 11 Block 11 (loop header) 73 Phi ← Constant#22, Add#114 I[0 {}, 2147483647 {[loop] #17-1}]: Int32 74 Phi ← GetFrameArgument#56, Call#108 Value 75 InterruptCheck 80 Compare ← Phi#73, ArrayLength#17 Lt Bool 81 Test ← Compare#80 → block 12, block 15 1 0 Block 12 86 GuardShape ← Unbox#10 Object 87 Elements ← GuardShape#86 Elements 88 InitializedLength ← Elements#87 I[0, 268435453]: Int32 89 BoundsCheck ← Phi#73, InitializedLength#88 I[0, 2147483646]: Int32 90 SpectreMaskIndex ← BoundsCheck#89, InitializedLength#88 I[0, 2147483646]: Int32 91 GuardElementNotHole ← Elements#87, SpectreMaskIndex#90 184 Goto → block 13 Block 13 105 GuardElementsArePacked ← Elements#87 106 LoadElement ← Elements#87, SpectreMaskIndex#90 Value 108 Call ← Unbox#107, Constant#2, Phi#74, LoadElement#106, Phi#73, Unbox#10 Value 109 Goto → block 14 Block 14 (backedge) 114 Add ← Phi#73, Constant#52 [int32] I[1, 2147483647]: Int32 115 Goto → block 11 Block 15 116 Return ← Phi#74
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 I[0, 2147483647]: Int32 21 ArgumentsLength I[0, 500000]: Int32 22 Constant 0x0 I[0, 0]: Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc I[12, 12]: Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 52 Constant 0x1 I[1, 1]: Int32 53 Compare ← ArgumentsLength#21, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 56 GetFrameArgument ← Constant#52 Value 57 Goto → block 10 Block 6 59 Compare ← ArrayLength#17, Constant#22 StrictEq Bool 60 Test ← Compare#59 → block 7, block 8 1 0 Block 7 61 CallGetIntrinsicValue Value 62 DebugCheckSelfHosted ← CallGetIntrinsicValue#61 Value 65 Bail 66 Unreachable Block 8 67 Constant false I[0, 0]: Bool 68 Goto → block 9 Block 9 69 InterruptCheck 70 Bail 71 Unreachable Block 10 107 Unbox Parameter#1 to Object (fallible) Object 72 Goto → block 11 Block 11 (loop header) 73 Phi ← Constant#22, Add#114 I[0 {}, 2147483647 {[loop] #17-1}]: Int32 74 Phi ← GetFrameArgument#56, Call#108 Value 75 InterruptCheck 80 Compare ← Phi#73, ArrayLength#17 Lt Bool 81 Test ← Compare#80 → block 12, block 15 1 0 Block 12 86 GuardShape ← Unbox#10 Object 87 Elements ← GuardShape#86 Elements 88 InitializedLength ← Elements#87 I[0, 268435453]: Int32 89 BoundsCheck ← Phi#73, InitializedLength#88 I[0, 2147483646]: Int32 90 SpectreMaskIndex ← BoundsCheck#89, InitializedLength#88 I[0, 2147483646]: Int32 91 GuardElementNotHole ← Elements#87, SpectreMaskIndex#90 184 Goto → block 13 Block 13 105 GuardElementsArePacked ← Elements#87 106 LoadElement ← Elements#87, SpectreMaskIndex#90 Value 108 Call ← Unbox#107, Constant#2, Phi#74, LoadElement#106, Phi#73, Unbox#10 Value 109 Goto → block 14 Block 14 (backedge) 114 Add ← Phi#73, Constant#52 [int32] I[1, 2147483647]: Int32 115 Goto → block 11 Block 15 116 Return ← Phi#74
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 I[0, 2147483647]: Int32 21 ArgumentsLength I[0, 500000]: Int32 22 Constant 0x0 I[0, 0]: Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc I[12, 12]: Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 52 Constant 0x1 I[1, 1]: Int32 53 Compare ← ArgumentsLength#21, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 56 GetFrameArgument ← Constant#52 Value 57 Goto → block 10 Block 6 59 Compare ← ArrayLength#17, Constant#22 StrictEq Bool 60 Test ← Compare#59 → block 7, block 8 1 0 Block 7 61 CallGetIntrinsicValue Value 62 DebugCheckSelfHosted ← CallGetIntrinsicValue#61 Value 65 Bail 66 Unreachable Block 8 67 Constant false I[0, 0]: Bool 68 Goto → block 9 Block 9 69 InterruptCheck 70 Bail 71 Unreachable Block 10 107 Unbox Parameter#1 to Object (fallible) Object 72 Goto → block 11 Block 11 (loop header) 73 Phi ← Constant#22, Add#114 I[0 {}, 2147483647 {[loop] #17-1}]: Int32 74 Phi ← GetFrameArgument#56, Call#108 Value 75 InterruptCheck 80 Compare ← Phi#73, ArrayLength#17 Lt Bool 81 Test ← Compare#80 → block 12, block 15 1 0 Block 12 86 GuardShape ← Unbox#10 Object 87 Elements ← GuardShape#86 Elements 88 InitializedLength ← Elements#87 I[0, 268435453]: Int32 89 BoundsCheck ← Phi#73, InitializedLength#88 I[0, 2147483646]: Int32 90 SpectreMaskIndex ← BoundsCheck#89, InitializedLength#88 I[0, 2147483646]: Int32 91 GuardElementNotHole ← Elements#87, SpectreMaskIndex#90 184 Goto → block 13 Block 13 105 GuardElementsArePacked ← Elements#87 106 LoadElement ← Elements#87, SpectreMaskIndex#90 Value 108 Call ← Unbox#107, Constant#2, Phi#74, LoadElement#106, Phi#73, Unbox#10 Value 109 Goto → block 14 Block 14 (backedge) 114 Add ← Phi#73, Constant#52 [int32] I[1, 2147483647]: Int32 115 Goto → block 11 Block 15 116 Return ← Phi#74
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 I[0, 2147483647]: Int32 21 ArgumentsLength I[0, 500000]: Int32 22 Constant 0x0 I[0, 0]: Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc I[12, 12]: Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 52 Constant 0x1 I[1, 1]: Int32 53 Compare ← ArgumentsLength#21, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 56 GetFrameArgument ← Constant#52 Value 57 Goto → block 10 Block 6 59 Compare ← ArrayLength#17, Constant#22 StrictEq Bool 60 Test ← Compare#59 → block 7, block 8 1 0 Block 7 61 CallGetIntrinsicValue Value 62 DebugCheckSelfHosted ← CallGetIntrinsicValue#61 Value 65 Bail 66 Unreachable Block 8 67 Constant false I[0, 0]: Bool 68 Goto → block 9 Block 9 69 InterruptCheck 70 Bail 71 Unreachable Block 10 107 Unbox Parameter#1 to Object (fallible) Object 72 Goto → block 11 Block 11 (loop header) 73 Phi ← Constant#22, Add#114 I[0 {}, 2147483647 {[loop] #17-1}]: Int32 74 Phi ← GetFrameArgument#56, Call#108 Value 75 InterruptCheck 80 Compare ← Phi#73, ArrayLength#17 Lt Bool 81 Test ← Compare#80 → block 12, block 15 1 0 Block 12 86 GuardShape ← Unbox#10 Object 87 Elements ← GuardShape#86 Elements 88 InitializedLength ← Elements#87 I[0, 268435453]: Int32 89 BoundsCheck ← Phi#73, InitializedLength#88 I[0, 2147483646]: Int32 90 SpectreMaskIndex ← BoundsCheck#89, InitializedLength#88 I[0, 2147483646]: Int32 91 GuardElementNotHole ← Elements#87, SpectreMaskIndex#90 184 Goto → block 13 Block 13 105 GuardElementsArePacked ← Elements#87 106 LoadElement ← Elements#87, SpectreMaskIndex#90 Value 108 Call ← Unbox#107, Constant#2, Phi#74, LoadElement#106, Phi#73, Unbox#10 Value 109 Goto → block 14 Block 14 (backedge) 114 Add ← Phi#73, Constant#52 [int32] I[1, 2147483647]: Int32 115 Goto → block 11 Block 15 116 Return ← Phi#74
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 I[0, 2147483647]: Int32 21 ArgumentsLength I[0, 500000]: Int32 22 Constant 0x0 I[0, 0]: Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc I[12, 12]: Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 52 Constant 0x1 I[1, 1]: Int32 53 Compare ← ArgumentsLength#21, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 56 GetFrameArgument ← Constant#52 Value 57 Goto → block 10 Block 6 59 Compare ← ArrayLength#17, Constant#22 StrictEq Bool 60 Test ← Compare#59 → block 7, block 8 1 0 Block 7 61 CallGetIntrinsicValue Value 62 DebugCheckSelfHosted ← CallGetIntrinsicValue#61 Value 65 Bail 66 Unreachable Block 8 67 Constant false I[0, 0]: Bool 68 Goto → block 9 Block 9 69 InterruptCheck 70 Bail 71 Unreachable Block 10 107 Unbox Parameter#1 to Object (fallible) Object 72 Goto → block 11 Block 11 (loop header) 73 Phi ← Constant#22, Add#114 I[0 {}, 2147483647 {[loop] #17-1}]: Int32 74 Phi ← GetFrameArgument#56, Call#108 Value 75 InterruptCheck 80 Compare ← Phi#73, ArrayLength#17 Lt Bool 81 Test ← Compare#80 → block 12, block 15 1 0 Block 12 86 GuardShape ← Unbox#10 Object 87 Elements ← GuardShape#86 Elements 88 InitializedLength ← Elements#87 I[0, 268435453]: Int32 89 BoundsCheck ← Phi#73, InitializedLength#88 I[0, 2147483646]: Int32 90 SpectreMaskIndex ← BoundsCheck#89, InitializedLength#88 I[0, 2147483646]: Int32 91 GuardElementNotHole ← Elements#87, SpectreMaskIndex#90 184 Goto → block 13 Block 13 105 GuardElementsArePacked ← Elements#87 106 LoadElement ← Elements#87, SpectreMaskIndex#90 Value 108 Call ← Unbox#107, Constant#2, Phi#74, LoadElement#106, Phi#73, Unbox#10 Value 109 Goto → block 14 Block 14 (backedge) 114 Add ← Phi#73, Constant#52 [int32] I[1, 2147483647]: Int32 115 Goto → block 11 Block 15 116 Return ← Phi#74
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 I[0, 2147483647]: Int32 21 ArgumentsLength I[0, 500000]: Int32 22 Constant 0x0 I[0, 0]: Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc I[12, 12]: Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 52 Constant 0x1 I[1, 1]: Int32 53 Compare ← ArgumentsLength#21, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 56 GetFrameArgument ← Constant#52 Value 57 Goto → block 10 Block 6 59 Compare ← ArrayLength#17, Constant#22 StrictEq Bool 60 Test ← Compare#59 → block 7, block 8 1 0 Block 7 61 CallGetIntrinsicValue Value 62 DebugCheckSelfHosted ← CallGetIntrinsicValue#61 Value 65 Bail 66 Unreachable Block 8 67 Constant false I[0, 0]: Bool 68 Goto → block 9 Block 9 69 InterruptCheck 70 Bail 71 Unreachable Block 10 107 Unbox Parameter#1 to Object (fallible) Object 72 Goto → block 11 Block 11 (loop header) 73 Phi ← Constant#22, Add#114 I[0 {}, 2147483647 {[loop] #17-1}]: Int32 74 Phi ← GetFrameArgument#56, Call#108 Value 75 InterruptCheck 80 Compare ← Phi#73, ArrayLength#17 Lt Bool 81 Test ← Compare#80 → block 12, block 15 1 0 Block 12 86 GuardShape ← Unbox#10 Object 87 Elements ← GuardShape#86 Elements 88 InitializedLength ← Elements#87 I[0, 268435453]: Int32 89 BoundsCheck ← Phi#73, InitializedLength#88 I[0, 2147483646]: Int32 90 SpectreMaskIndex ← BoundsCheck#89, InitializedLength#88 I[0, 2147483646]: Int32 91 GuardElementNotHole ← Elements#87, SpectreMaskIndex#90 184 Goto → block 13 Block 13 105 GuardElementsArePacked ← Elements#87 106 LoadElement ← Elements#87, SpectreMaskIndex#90 Value 108 Call ← Unbox#107, Constant#2, Phi#74, LoadElement#106, Phi#73, Unbox#10 Value 109 Goto → block 14 Block 14 (backedge) 114 Add ← Phi#73, Constant#52 [int32] I[1, 2147483647]: Int32 115 Goto → block 11 Block 15 116 Return ← Phi#74
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Unbox Parameter#0 to Object (fallible) Object 9 Constant function ToLength at 104289c6c778 Object 10 Box ← Constant#9 Value 11 DebugCheckSelfHosted ← Box#10 Value 12 GuardShape ← Unbox#8 Object 13 Elements ← GuardShape#12 Elements 14 ArrayLength ← Elements#13 I[0, 2147483647]: Int32 15 ArgumentsLength I[0, 500000]: Int32 16 Constant 0x0 I[0, 0]: Int32 17 Compare ← ArgumentsLength#15, Constant#16 StrictEq Bool 18 Test ← Compare#17 → block 1, block 2 1 0 Block 1 19 CallGetIntrinsicValue Value 20 DebugCheckSelfHosted ← CallGetIntrinsicValue#19 Value 21 Bail 22 Unreachable Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 IsCallable ← Parameter#1 Bool 27 Test ← IsCallable#26 → block 4, block 3 1 0 Block 3 28 CallGetIntrinsicValue Value 29 DebugCheckSelfHosted ← CallGetIntrinsicValue#28 Value 30 Constant 0xc I[12, 12]: Int32 31 CallGetIntrinsicValue Value 32 DebugCheckSelfHosted ← CallGetIntrinsicValue#31 Value 33 Bail 34 Unreachable Block 4 35 Constant 0x1 I[1, 1]: Int32 36 Compare ← ArgumentsLength#15, Constant#35 Gt Bool 37 Test ← Compare#36 → block 5, block 6 1 0 Block 5 38 GetFrameArgument ← Constant#35 Value 39 Goto → block 10 Block 6 40 Compare ← ArrayLength#14, Constant#16 StrictEq Bool 41 Test ← Compare#40 → block 7, block 8 1 0 Block 7 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Bail 45 Unreachable Block 8 46 Constant false I[0, 0]: Bool 47 Goto → block 9 Block 9 48 InterruptCheck 49 Bail 50 Unreachable Block 10 51 Unbox Parameter#1 to Object (fallible) Object 52 Goto → block 11 Block 11 (loop header) 53 Phi ← Constant#16, Add#69 I[0 {}, 2147483647 {[loop] #14-1}]: Int32 54 Phi ← GetFrameArgument#38, Call#67 Value 55 InterruptCheck 56 Compare ← Phi#53, ArrayLength#14 Lt Bool 57 Test ← Compare#56 → block 12, block 15 1 0 Block 12 58 GuardShape ← Unbox#8 Object 59 Elements ← GuardShape#58 Elements 60 InitializedLength ← Elements#59 I[0, 268435453]: Int32 61 BoundsCheck ← Phi#53, InitializedLength#60 I[0, 2147483646]: Int32 62 SpectreMaskIndex ← BoundsCheck#61, InitializedLength#60 I[0, 2147483646]: Int32 63 GuardElementNotHole ← Elements#59, SpectreMaskIndex#62 64 Goto → block 13 Block 13 65 GuardElementsArePacked ← Elements#59 66 LoadElement ← Elements#59, SpectreMaskIndex#62 Value 67 Call ← Unbox#51, Constant#2, Phi#54, LoadElement#66, Phi#53, Unbox#8 Value 68 Goto → block 14 Block 14 (backedge) 69 Add ← Phi#53, Constant#35 [int32] I[1, 2147483647]: Int32 70 Goto → block 11 Block 15 71 Return ← Phi#54
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Unbox Parameter#0 to Object (fallible) Object 9 Constant function ToLength at 104289c6c778 Object 10 Box ← Constant#9 Value 11 DebugCheckSelfHosted ← Box#10 Value 12 GuardShape ← Unbox#8 Object 13 Elements ← GuardShape#12 Elements 14 ArrayLength ← Elements#13 I[0, 2147483647]: Int32 15 ArgumentsLength I[0, 500000]: Int32 16 Constant 0x0 I[0, 0]: Int32 17 Compare ← ArgumentsLength#15, Constant#16 StrictEq Bool 18 Test ← Compare#17 → block 1, block 2 1 0 Block 1 19 CallGetIntrinsicValue Value 20 DebugCheckSelfHosted ← CallGetIntrinsicValue#19 Value 21 Bail 22 Unreachable Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 IsCallable ← Parameter#1 Bool 27 Test ← IsCallable#26 → block 4, block 3 1 0 Block 3 28 CallGetIntrinsicValue Value 29 DebugCheckSelfHosted ← CallGetIntrinsicValue#28 Value 30 Constant 0xc I[12, 12]: Int32 31 CallGetIntrinsicValue Value 32 DebugCheckSelfHosted ← CallGetIntrinsicValue#31 Value 33 Bail 34 Unreachable Block 4 35 Constant 0x1 I[1, 1]: Int32 36 Compare ← ArgumentsLength#15, Constant#35 Gt Bool 37 Test ← Compare#36 → block 5, block 6 1 0 Block 5 38 GetFrameArgument ← Constant#35 Value 39 Goto → block 10 Block 6 40 Compare ← ArrayLength#14, Constant#16 StrictEq Bool 41 Test ← Compare#40 → block 7, block 8 1 0 Block 7 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Bail 45 Unreachable Block 8 46 Constant false I[0, 0]: Bool 47 Goto → block 9 Block 9 48 InterruptCheck 49 Bail 50 Unreachable Block 10 51 Unbox Parameter#1 to Object (fallible) Object 52 Goto → block 11 Block 11 (loop header) 53 Phi ← Constant#16, Add#69 I[0 {}, 2147483647 {[loop] #14-1}]: Int32 54 Phi ← GetFrameArgument#38, Call#67 Value 55 InterruptCheck 56 Compare ← Phi#53, ArrayLength#14 Lt Bool 57 Test ← Compare#56 → block 12, block 15 1 0 Block 12 58 GuardShape ← Unbox#8 Object 59 Elements ← GuardShape#58 Elements 60 InitializedLength ← Elements#59 I[0, 268435453]: Int32 61 BoundsCheck ← Phi#53, InitializedLength#60 I[0, 2147483646]: Int32 62 SpectreMaskIndex ← BoundsCheck#61, InitializedLength#60 I[0, 2147483646]: Int32 63 GuardElementNotHole ← Elements#59, SpectreMaskIndex#62 64 Goto → block 13 Block 13 65 GuardElementsArePacked ← Elements#59 66 LoadElement ← Elements#59, SpectreMaskIndex#62 Value 67 Call ← Unbox#51, Constant#2, Phi#54, LoadElement#66, Phi#53, Unbox#8 Value 68 Goto → block 14 Block 14 (backedge) 69 Add ← Phi#53, Constant#35 [int32] I[1, 2147483647]: Int32 70 Goto → block 11 Block 15 71 Return ← Phi#54
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Unbox Parameter#0 to Object (fallible) Object 9 Constant function ToLength at 104289c6c778 Object 10 Box ← Constant#9 Value 11 DebugCheckSelfHosted ← Box#10 Value 12 GuardShape ← Unbox#8 Object 13 Elements ← GuardShape#12 Elements 14 ArrayLength ← Elements#13 I[0, 2147483647]: Int32 15 ArgumentsLength I[0, 500000]: Int32 16 Constant 0x0 I[0, 0]: Int32 17 Compare ← ArgumentsLength#15, Constant#16 StrictEq Bool 18 Test ← Compare#17 → block 1, block 2 1 0 Block 1 19 CallGetIntrinsicValue Value 20 DebugCheckSelfHosted ← CallGetIntrinsicValue#19 Value 21 Bail 22 Unreachable Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 IsCallable ← Parameter#1 Bool 27 Test ← IsCallable#26 → block 4, block 3 1 0 Block 3 28 CallGetIntrinsicValue Value 29 DebugCheckSelfHosted ← CallGetIntrinsicValue#28 Value 30 Constant 0xc I[12, 12]: Int32 31 CallGetIntrinsicValue Value 32 DebugCheckSelfHosted ← CallGetIntrinsicValue#31 Value 33 Bail 34 Unreachable Block 4 35 Constant 0x1 I[1, 1]: Int32 36 Compare ← ArgumentsLength#15, Constant#35 Gt Bool 37 Test ← Compare#36 → block 5, block 6 1 0 Block 5 38 GetFrameArgument ← Constant#35 Value 39 Goto → block 10 Block 6 40 Compare ← ArrayLength#14, Constant#16 StrictEq Bool 41 Test ← Compare#40 → block 7, block 8 1 0 Block 7 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Bail 45 Unreachable Block 8 46 Constant false I[0, 0]: Bool 47 Goto → block 9 Block 9 48 InterruptCheck 49 Bail 50 Unreachable Block 10 51 Unbox Parameter#1 to Object (fallible) Object 52 Goto → block 11 Block 11 (loop header) 53 Phi ← Constant#16, Add#69 I[0 {}, 2147483647 {[loop] #14-1}]: Int32 54 Phi ← GetFrameArgument#38, Call#67 Value 55 InterruptCheck 56 Compare ← Phi#53, ArrayLength#14 Lt Bool 57 Test ← Compare#56 → block 12, block 15 1 0 Block 12 58 GuardShape ← Unbox#8 Object 59 Elements ← GuardShape#58 Elements 60 InitializedLength ← Elements#59 I[0, 268435453]: Int32 61 BoundsCheck ← Phi#53, InitializedLength#60 I[0, 2147483646]: Int32 62 SpectreMaskIndex ← BoundsCheck#61, InitializedLength#60 I[0, 2147483646]: Int32 63 GuardElementNotHole ← Elements#59, SpectreMaskIndex#62 64 Goto → block 13 Block 13 65 GuardElementsArePacked ← Elements#59 66 LoadElement ← Elements#59, SpectreMaskIndex#62 Value 67 Call ← Unbox#51, Constant#2, Phi#54, LoadElement#66, Phi#53, Unbox#8 Value 68 Goto → block 14 Block 14 (backedge) 69 Add ← Phi#53, Constant#35 [int32] I[1, 2147483647]: Int32 70 Goto → block 11 Block 15 71 Return ← Phi#54
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Unbox Parameter#0 to Object (fallible) Object 9 Constant function ToLength at 104289c6c778 Object 10 Box ← Constant#9 Value 11 DebugCheckSelfHosted ← Box#10 Value 12 GuardShape ← Unbox#8 Object 13 Elements ← GuardShape#12 Elements 14 ArrayLength ← Elements#13 I[0, 2147483647]: Int32 15 ArgumentsLength I[0, 500000]: Int32 16 Constant 0x0 I[0, 0]: Int32 17 Compare ← ArgumentsLength#15, Constant#16 StrictEq Bool 18 Test ← Compare#17 → block 1, block 2 1 0 Block 1 19 CallGetIntrinsicValue Value 20 DebugCheckSelfHosted ← CallGetIntrinsicValue#19 Value 21 Bail 22 Unreachable Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 IsCallable ← Parameter#1 Bool 27 Test ← IsCallable#26 → block 4, block 3 1 0 Block 3 28 CallGetIntrinsicValue Value 29 DebugCheckSelfHosted ← CallGetIntrinsicValue#28 Value 30 Constant 0xc I[12, 12]: Int32 31 CallGetIntrinsicValue Value 32 DebugCheckSelfHosted ← CallGetIntrinsicValue#31 Value 33 Bail 34 Unreachable Block 4 35 Constant 0x1 I[1, 1]: Int32 36 Compare ← ArgumentsLength#15, Constant#35 Gt Bool 37 Test ← Compare#36 → block 5, block 6 1 0 Block 5 38 GetFrameArgument ← Constant#35 Value 39 Goto → block 10 Block 6 40 Compare ← ArrayLength#14, Constant#16 StrictEq Bool 41 Test ← Compare#40 → block 7, block 8 1 0 Block 7 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Bail 45 Unreachable Block 8 46 Constant false I[0, 0]: Bool 47 Goto → block 9 Block 9 48 InterruptCheck 49 Bail 50 Unreachable Block 10 51 Unbox Parameter#1 to Object (fallible) Object 52 Goto → block 11 Block 11 (loop header) 53 Phi ← Constant#16, Add#69 I[0 {}, 2147483647 {[loop] #14-1}]: Int32 54 Phi ← GetFrameArgument#38, Call#67 Value 55 InterruptCheck 56 Compare ← Phi#53, ArrayLength#14 Lt Bool 57 Test ← Compare#56 → block 12, block 15 1 0 Block 12 58 GuardShape ← Unbox#8 Object 59 Elements ← GuardShape#58 Elements 60 InitializedLength ← Elements#59 I[0, 268435453]: Int32 61 BoundsCheck ← Phi#53, InitializedLength#60 I[0, 2147483646]: Int32 62 SpectreMaskIndex ← Phi#53, InitializedLength#60 I[0, 2147483646]: Int32 63 GuardElementNotHole ← Elements#59, SpectreMaskIndex#62 64 Goto → block 13 Block 13 65 GuardElementsArePacked ← Elements#59 66 LoadElement ← Elements#59, SpectreMaskIndex#62 Value 67 Call ← Unbox#51, Constant#2, Phi#54, LoadElement#66, Phi#53, Unbox#8 Value 68 Goto → block 14 Block 14 (backedge) 69 Add ← Phi#53, Constant#35 [int32] I[1, 2147483647]: Int32 70 Goto → block 11 Block 15 71 Return ← Phi#54
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Unbox Parameter#0 to Object (fallible) Object 9 Constant function ToLength at 104289c6c778 Object 10 Box ← Constant#9 Value 11 DebugCheckSelfHosted ← Box#10 Value 12 GuardShape ← Unbox#8 Object 13 Elements ← GuardShape#12 Elements 14 ArrayLength ← Elements#13 I[0, 2147483647]: Int32 15 ArgumentsLength I[0, 500000]: Int32 16 Constant 0x0 I[0, 0]: Int32 17 Compare ← ArgumentsLength#15, Constant#16 StrictEq Bool 18 Test ← Compare#17 → block 1, block 2 1 0 Block 1 19 CallGetIntrinsicValue Value 20 DebugCheckSelfHosted ← CallGetIntrinsicValue#19 Value 21 Bail 22 Unreachable Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 IsCallable ← Parameter#1 Bool 27 Test ← IsCallable#26 → block 4, block 3 1 0 Block 3 28 CallGetIntrinsicValue Value 29 DebugCheckSelfHosted ← CallGetIntrinsicValue#28 Value 30 Constant 0xc I[12, 12]: Int32 31 CallGetIntrinsicValue Value 32 DebugCheckSelfHosted ← CallGetIntrinsicValue#31 Value 33 Bail 34 Unreachable Block 4 35 Constant 0x1 I[1, 1]: Int32 36 Compare ← ArgumentsLength#15, Constant#35 Gt Bool 37 Test ← Compare#36 → block 5, block 6 1 0 Block 5 38 GetFrameArgument ← Constant#35 Value 39 Goto → block 10 Block 6 40 Compare ← ArrayLength#14, Constant#16 StrictEq Bool 41 Test ← Compare#40 → block 7, block 8 1 0 Block 7 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Bail 45 Unreachable Block 8 46 Constant false I[0, 0]: Bool 47 Goto → block 9 Block 9 48 InterruptCheck 49 Bail 50 Unreachable Block 10 51 Unbox Parameter#1 to Object (fallible) Object 52 Goto → block 11 Block 11 (loop header) 53 Phi ← Constant#16, Add#69 I[0 {}, 2147483647 {[loop] #14-1}]: Int32 54 Phi ← GetFrameArgument#38, Call#67 Value 55 InterruptCheck 56 Compare ← Phi#53, ArrayLength#14 Lt Bool 57 Test ← Compare#56 → block 12, block 15 1 0 Block 12 58 GuardShape ← Unbox#8 Object 59 Elements ← GuardShape#58 Elements 60 InitializedLength ← Elements#59 I[0, 268435453]: Int32 61 BoundsCheck ← Phi#53, InitializedLength#60 I[0, 2147483646]: Int32 62 SpectreMaskIndex ← Phi#53, InitializedLength#60 I[0, 2147483646]: Int32 63 GuardElementNotHole ← Elements#59, SpectreMaskIndex#62 64 Goto → block 13 Block 13 65 GuardElementsArePacked ← Elements#59 66 LoadElement ← Elements#59, SpectreMaskIndex#62 Value 67 Call ← Unbox#51, Constant#2, Phi#54, LoadElement#66, Phi#53, Unbox#8 Value 68 Goto → block 14 Block 14 (backedge) 69 Add ← Phi#53, Constant#35 [int32] I[1, 2147483647]: Int32 70 Goto → block 11 Block 15 71 Return ← Phi#54
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Unbox Parameter#0 to Object (fallible) Object 9 Constant function ToLength at 104289c6c778 Object 10 Box ← Constant#9 Value 11 DebugCheckSelfHosted ← Box#10 Value 12 GuardShape ← Unbox#8 Object 13 Elements ← GuardShape#12 Elements 14 ArrayLength ← Elements#13 I[0, 2147483647]: Int32 15 ArgumentsLength I[0, 500000]: Int32 16 Constant 0x0 I[0, 0]: Int32 17 Compare ← ArgumentsLength#15, Constant#16 StrictEq Bool 18 Test ← Compare#17 → block 1, block 2 1 0 Block 1 19 CallGetIntrinsicValue Value 20 DebugCheckSelfHosted ← CallGetIntrinsicValue#19 Value 21 Bail 22 Unreachable Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 IsCallable ← Parameter#1 Bool 27 Test ← IsCallable#26 → block 4, block 3 1 0 Block 3 28 CallGetIntrinsicValue Value 29 DebugCheckSelfHosted ← CallGetIntrinsicValue#28 Value 30 Constant 0xc I[12, 12]: Int32 31 CallGetIntrinsicValue Value 32 DebugCheckSelfHosted ← CallGetIntrinsicValue#31 Value 33 Bail 34 Unreachable Block 4 35 Constant 0x1 I[1, 1]: Int32 36 Compare ← ArgumentsLength#15, Constant#35 Gt Bool 37 Test ← Compare#36 → block 5, block 6 1 0 Block 5 38 GetFrameArgument ← Constant#35 Value 39 Goto → block 10 Block 6 40 Compare ← ArrayLength#14, Constant#16 StrictEq Bool 41 Test ← Compare#40 → block 7, block 8 1 0 Block 7 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Bail 45 Unreachable Block 8 46 Constant false I[0, 0]: Bool 47 Goto → block 9 Block 9 48 InterruptCheck 49 Bail 50 Unreachable Block 10 51 Unbox Parameter#1 to Object (fallible) Object 52 Goto → block 11 Block 11 (loop header) 53 Phi ← Constant#16, Add#69 I[0 {}, 2147483647 {[loop] #14-1}]: Int32 54 Phi ← GetFrameArgument#38, Call#67 Value 55 InterruptCheck 56 Compare ← Phi#53, ArrayLength#14 Lt Bool 57 Test ← Compare#56 → block 12, block 15 1 0 Block 12 58 GuardShape ← Unbox#8 Object 59 Elements ← GuardShape#58 Elements 60 InitializedLength ← Elements#59 I[0, 268435453]: Int32 61 BoundsCheck ← Phi#53, InitializedLength#60 I[0, 2147483646]: Int32 62 SpectreMaskIndex ← Phi#53, InitializedLength#60 I[0, 2147483646]: Int32 63 GuardElementNotHole ← Elements#59, SpectreMaskIndex#62 64 Goto → block 13 Block 13 65 GuardElementsArePacked ← Elements#59 66 LoadElement ← Elements#59, SpectreMaskIndex#62 Value 67 Call ← Unbox#51, Constant#2, Phi#54, LoadElement#66, Phi#53, Unbox#8 Value 68 Goto → block 14 Block 14 (backedge) 69 Add ← Phi#53, Constant#35 [int32] I[1, 2147483647]: Int32 70 Goto → block 11 Block 15 71 Return ← Phi#54
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Unbox Parameter#0 to Object (fallible) Object 9 Constant function ToLength at 104289c6c778 Object 10 Box ← Constant#9 Value 11 DebugCheckSelfHosted ← Box#10 Value 12 GuardShape ← Unbox#8 Object 13 Elements ← GuardShape#12 Elements 14 ArrayLength ← Elements#13 I[0, 2147483647]: Int32 15 ArgumentsLength I[0, 500000]: Int32 16 Constant 0x0 I[0, 0]: Int32 17 Compare ← ArgumentsLength#15, Constant#16 StrictEq Bool 18 Test ← Compare#17 → block 1, block 2 1 0 Block 1 19 CallGetIntrinsicValue Value 20 DebugCheckSelfHosted ← CallGetIntrinsicValue#19 Value 21 Bail 22 Unreachable Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 IsCallable ← Parameter#1 Bool 27 Test ← IsCallable#26 → block 4, block 3 1 0 Block 3 28 CallGetIntrinsicValue Value 29 DebugCheckSelfHosted ← CallGetIntrinsicValue#28 Value 30 Constant 0xc I[12, 12]: Int32 31 CallGetIntrinsicValue Value 32 DebugCheckSelfHosted ← CallGetIntrinsicValue#31 Value 33 Bail 34 Unreachable Block 4 35 Constant 0x1 I[1, 1]: Int32 36 Compare ← ArgumentsLength#15, Constant#35 Gt Bool 37 Test ← Compare#36 → block 5, block 6 1 0 Block 5 38 GetFrameArgument ← Constant#35 Value 39 Goto → block 10 Block 6 40 Compare ← ArrayLength#14, Constant#16 StrictEq Bool 41 Test ← Compare#40 → block 7, block 8 1 0 Block 7 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Bail 45 Unreachable Block 8 46 Constant false I[0, 0]: Bool 47 Goto → block 9 Block 9 48 InterruptCheck 49 Bail 50 Unreachable Block 10 51 Unbox Parameter#1 to Object (fallible) Object 52 Goto → block 11 Block 11 (loop header) 53 Phi ← Constant#16, Add#69 I[0 {}, 2147483647 {[loop] #14-1}]: Int32 54 Phi ← GetFrameArgument#38, Call#67 Value 55 InterruptCheck 56 Compare ← Phi#53, ArrayLength#14 Lt Bool 57 Test ← Compare#56 → block 12, block 15 1 0 Block 12 58 GuardShape ← Unbox#8 Object 59 Elements ← GuardShape#58 Elements 60 InitializedLength ← Elements#59 I[0, 268435453]: Int32 61 BoundsCheck ← Phi#53, InitializedLength#60 I[0, 2147483646]: Int32 62 SpectreMaskIndex ← Phi#53, InitializedLength#60 I[0, 2147483646]: Int32 63 GuardElementNotHole ← Elements#59, SpectreMaskIndex#62 64 Goto → block 13 Block 13 65 GuardElementsArePacked ← Elements#59 66 LoadElement ← Elements#59, SpectreMaskIndex#62 Value 67 Call ← Unbox#51, Constant#2, Phi#54, LoadElement#66, Phi#53, Unbox#8 Value 68 Goto → block 14 Block 14 (backedge) 69 Add ← Phi#53, Constant#35 [int32] I[1, 2147483647]: Int32 70 Goto → block 11 Block 15 71 Return ← Phi#54
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Unbox Parameter#0 to Object (fallible) Object 9 Constant function ToLength at 104289c6c778 Object 10 Box ← Constant#9 Value 11 DebugCheckSelfHosted ← Box#10 Value 12 GuardShape ← Unbox#8 Object 13 Elements ← GuardShape#12 Elements 193 DebugEnterGCUnsafeRegion 14 ArrayLength ← Elements#13 I[0, 2147483647]: Int32 194 DebugLeaveGCUnsafeRegion 15 ArgumentsLength I[0, 500000]: Int32 16 Constant 0x0 I[0, 0]: Int32 17 Compare ← ArgumentsLength#15, Constant#16 StrictEq Bool 18 Test ← Compare#17 → block 1, block 2 1 0 Block 1 19 CallGetIntrinsicValue Value 20 DebugCheckSelfHosted ← CallGetIntrinsicValue#19 Value 21 Bail 22 Unreachable Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 IsCallable ← Parameter#1 Bool 27 Test ← IsCallable#26 → block 4, block 3 1 0 Block 3 28 CallGetIntrinsicValue Value 29 DebugCheckSelfHosted ← CallGetIntrinsicValue#28 Value 30 Constant 0xc I[12, 12]: Int32 31 CallGetIntrinsicValue Value 32 DebugCheckSelfHosted ← CallGetIntrinsicValue#31 Value 33 Bail 34 Unreachable Block 4 35 Constant 0x1 I[1, 1]: Int32 36 Compare ← ArgumentsLength#15, Constant#35 Gt Bool 37 Test ← Compare#36 → block 5, block 6 1 0 Block 5 38 GetFrameArgument ← Constant#35 Value 39 Goto → block 10 Block 6 40 Compare ← ArrayLength#14, Constant#16 StrictEq Bool 41 Test ← Compare#40 → block 7, block 8 1 0 Block 7 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Bail 45 Unreachable Block 8 46 Constant false I[0, 0]: Bool 47 Goto → block 9 Block 9 48 InterruptCheck 49 Bail 50 Unreachable Block 10 51 Unbox Parameter#1 to Object (fallible) Object 52 Goto → block 11 Block 11 (loop header) 53 Phi ← Constant#16, Add#69 I[0 {}, 2147483647 {[loop] #14-1}]: Int32 54 Phi ← GetFrameArgument#38, Call#67 Value 55 InterruptCheck 56 Compare ← Phi#53, ArrayLength#14 Lt Bool 57 Test ← Compare#56 → block 12, block 15 1 0 Block 12 58 GuardShape ← Unbox#8 Object 59 Elements ← GuardShape#58 Elements 199 DebugEnterGCUnsafeRegion 197 DebugEnterGCUnsafeRegion 60 InitializedLength ← Elements#59 I[0, 268435453]: Int32 200 DebugLeaveGCUnsafeRegion 61 BoundsCheck ← Phi#53, InitializedLength#60 I[0, 2147483646]: Int32 62 SpectreMaskIndex ← Phi#53, InitializedLength#60 I[0, 2147483646]: Int32 63 GuardElementNotHole ← Elements#59, SpectreMaskIndex#62 198 DebugLeaveGCUnsafeRegion 64 Goto → block 13 Block 13 65 GuardElementsArePacked ← Elements#59 196 KeepAliveObject ← GuardShape#58 66 LoadElement ← Elements#59, SpectreMaskIndex#62 Value 195 KeepAliveObject ← GuardShape#58 67 Call ← Unbox#51, Constant#2, Phi#54, LoadElement#66, Phi#53, Unbox#8 Value 68 Goto → block 14 Block 14 (backedge) 69 Add ← Phi#53, Constant#35 [int32] I[1, 2147483647]: Int32 70 Goto → block 11 Block 15 71 Return ← Phi#54
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Unbox Parameter#0 to Object (fallible) Object 9 Constant function ToLength at 104289c6c778 Object 10 Box ← Constant#9 Value 11 DebugCheckSelfHosted ← Box#10 Value 12 GuardShape ← Unbox#8 Object 13 Elements ← GuardShape#12 Elements 193 DebugEnterGCUnsafeRegion 14 ArrayLength ← Elements#13 I[0, 2147483647]: Int32 194 DebugLeaveGCUnsafeRegion 15 ArgumentsLength I[0, 500000]: Int32 16 Constant 0x0 I[0, 0]: Int32 17 Compare ← ArgumentsLength#15, Constant#16 StrictEq Bool 18 Test ← Compare#17 → block 1, block 2 1 0 Block 1 19 CallGetIntrinsicValue Value 20 DebugCheckSelfHosted ← CallGetIntrinsicValue#19 Value 21 Bail 22 Unreachable Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 IsCallable ← Parameter#1 Bool 27 Test ← IsCallable#26 → block 4, block 3 1 0 Block 3 28 CallGetIntrinsicValue Value 29 DebugCheckSelfHosted ← CallGetIntrinsicValue#28 Value 30 Constant 0xc I[12, 12]: Int32 31 CallGetIntrinsicValue Value 32 DebugCheckSelfHosted ← CallGetIntrinsicValue#31 Value 33 Bail 34 Unreachable Block 4 35 Constant 0x1 I[1, 1]: Int32 36 Compare ← ArgumentsLength#15, Constant#35 Gt Bool 37 Test ← Compare#36 → block 5, block 6 1 0 Block 5 38 GetFrameArgument ← Constant#35 Value 39 Goto → block 10 Block 6 40 Compare ← ArrayLength#14, Constant#16 StrictEq Bool 41 Test ← Compare#40 → block 7, block 8 1 0 Block 7 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Bail 45 Unreachable Block 8 46 Constant false I[0, 0]: Bool 47 Goto → block 9 Block 9 48 InterruptCheck 49 Bail 50 Unreachable Block 10 51 Unbox Parameter#1 to Object (fallible) Object 52 Goto → block 11 Block 11 (loop header) 53 Phi ← Constant#16, Add#69 I[0 {}, 2147483647 {[loop] #14-1}]: Int32 54 Phi ← GetFrameArgument#38, Call#67 Value 55 InterruptCheck 56 Compare ← Phi#53, ArrayLength#14 Lt Bool 57 Test ← Compare#56 → block 12, block 15 1 0 Block 12 58 GuardShape ← Unbox#8 Object 59 Elements ← GuardShape#58 Elements 199 DebugEnterGCUnsafeRegion 197 DebugEnterGCUnsafeRegion 60 InitializedLength ← Elements#59 I[0, 268435453]: Int32 200 DebugLeaveGCUnsafeRegion 61 BoundsCheck ← Phi#53, InitializedLength#60 I[0, 2147483646]: Int32 62 SpectreMaskIndex ← Phi#53, InitializedLength#60 I[0, 2147483646]: Int32 63 GuardElementNotHole ← Elements#59, SpectreMaskIndex#62 198 DebugLeaveGCUnsafeRegion 64 Goto → block 13 Block 13 65 GuardElementsArePacked ← Elements#59 196 KeepAliveObject ← GuardShape#58 66 LoadElement ← Elements#59, SpectreMaskIndex#62 Value 195 KeepAliveObject ← GuardShape#58 67 Call ← Unbox#51, Constant#2, Phi#54, LoadElement#66, Phi#53, Unbox#8 Value 68 Goto → block 14 Block 14 (backedge) 69 Add ← Phi#53, Constant#35 [int32] I[1, 2147483647]: Int32 70 Goto → block 11 Block 15 71 Return ← Phi#54
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Unbox Parameter#0 to Object (fallible) Object 9 Constant function ToLength at 104289c6c778 Object 10 Box ← Constant#9 Value 11 DebugCheckSelfHosted ← Box#10 Value 12 GuardShape ← Unbox#8 Object 13 Elements ← GuardShape#12 Elements 193 DebugEnterGCUnsafeRegion 14 ArrayLength ← Elements#13 I[0, 2147483647]: Int32 194 DebugLeaveGCUnsafeRegion 15 ArgumentsLength I[0, 500000]: Int32 16 Constant 0x0 I[0, 0]: Int32 17 Compare ← ArgumentsLength#15, Constant#16 StrictEq Bool 18 Test ← Compare#17 → block 1, block 2 1 0 Block 1 19 CallGetIntrinsicValue Value 20 DebugCheckSelfHosted ← CallGetIntrinsicValue#19 Value 21 Bail 22 Unreachable Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 IsCallable ← Parameter#1 Bool 27 Test ← IsCallable#26 → block 4, block 3 1 0 Block 3 28 CallGetIntrinsicValue Value 29 DebugCheckSelfHosted ← CallGetIntrinsicValue#28 Value 30 Constant 0xc I[12, 12]: Int32 31 CallGetIntrinsicValue Value 32 DebugCheckSelfHosted ← CallGetIntrinsicValue#31 Value 33 Bail 34 Unreachable Block 4 35 Constant 0x1 I[1, 1]: Int32 36 Compare ← ArgumentsLength#15, Constant#35 Gt Bool 37 Test ← Compare#36 → block 5, block 6 1 0 Block 5 38 GetFrameArgument ← Constant#35 Value 39 Goto → block 10 Block 6 40 Compare ← ArrayLength#14, Constant#16 StrictEq Bool 41 Test ← Compare#40 → block 7, block 8 1 0 Block 7 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Bail 45 Unreachable Block 8 46 Constant false I[0, 0]: Bool 47 Goto → block 9 Block 9 48 InterruptCheck 49 Bail 50 Unreachable Block 10 51 Unbox Parameter#1 to Object (fallible) Object 52 Goto → block 11 Block 11 (loop header) 53 Phi ← Constant#16, Add#69 I[0 {}, 2147483647 {[loop] #14-1}]: Int32 54 Phi ← GetFrameArgument#38, Call#67 Value 55 InterruptCheck 56 Compare ← Phi#53, ArrayLength#14 Lt Bool 57 Test ← Compare#56 → block 12, block 15 1 0 Block 12 58 GuardShape ← Unbox#8 Object 59 Elements ← GuardShape#58 Elements 199 DebugEnterGCUnsafeRegion 197 DebugEnterGCUnsafeRegion 60 InitializedLength ← Elements#59 I[0, 268435453]: Int32 200 DebugLeaveGCUnsafeRegion 61 BoundsCheck ← Phi#53, InitializedLength#60 I[0, 2147483646]: Int32 62 SpectreMaskIndex ← Phi#53, InitializedLength#60 I[0, 2147483646]: Int32 63 GuardElementNotHole ← Elements#59, SpectreMaskIndex#62 198 DebugLeaveGCUnsafeRegion 64 Goto → block 13 Block 13 65 GuardElementsArePacked ← Elements#59 196 KeepAliveObject ← GuardShape#58 66 LoadElement ← Elements#59, SpectreMaskIndex#62 Value 195 KeepAliveObject ← GuardShape#58 67 Call ← Unbox#51, Constant#2, Phi#54, LoadElement#66, Phi#53, Unbox#8 Value 68 Goto → block 14 Block 14 (backedge) 69 Add ← Phi#53, Constant#35 [int32] I[1, 2147483647]: Int32 70 Goto → block 11 Block 15 71 Return ← Phi#54
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 Int32 8 Constant 0x1 Int32 9 Unbox Parameter#1 to Int32 (fallible) Int32 10 Rsh ← Unbox#9, Constant#8 Int32 11 Constant 0xff Int32 12 Unbox Parameter#1 to Int32 (fallible) Int32 13 BitAnd ← Unbox#12, Constant#11 Int32 14 Constant 0x2 Int32 15 Unbox Parameter#1 to Int32 (fallible) Int32 16 Ursh ← Unbox#15, Constant#14 Int32 17 Add ← BitAnd#13, Ursh#16 [int32] Int32 18 Unbox Parameter#1 to Int32 (fallible) Int32 19 BitNot ← Unbox#18 Int32 20 Sub ← Add#17, BitNot#19 [int32] Int32 21 BitXor ← Rsh#10, Sub#20 Int32 22 BitOr ← Lsh#7, BitXor#21 Int32 23 Return ← BitOr#22
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 Int32 8 Constant 0x1 Int32 9 Unbox Parameter#1 to Int32 (fallible) Int32 10 Rsh ← Unbox#9, Constant#8 Int32 11 Constant 0xff Int32 12 Unbox Parameter#1 to Int32 (fallible) Int32 13 BitAnd ← Unbox#12, Constant#11 Int32 14 Constant 0x2 Int32 15 Unbox Parameter#1 to Int32 (fallible) Int32 16 Ursh ← Unbox#15, Constant#14 Int32 17 Add ← BitAnd#13, Ursh#16 [int32] Int32 18 Unbox Parameter#1 to Int32 (fallible) Int32 19 BitNot ← Unbox#18 Int32 20 Sub ← Add#17, BitNot#19 [int32] Int32 21 BitXor ← Rsh#10, Sub#20 Int32 22 BitOr ← Lsh#7, BitXor#21 Int32 23 Return ← BitOr#22
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 Int32 8 Constant 0x1 Int32 9 Unbox Parameter#1 to Int32 (fallible) Int32 10 Rsh ← Unbox#9, Constant#8 Int32 11 Constant 0xff Int32 12 Unbox Parameter#1 to Int32 (fallible) Int32 13 BitAnd ← Unbox#12, Constant#11 Int32 14 Constant 0x2 Int32 15 Unbox Parameter#1 to Int32 (fallible) Int32 16 Ursh ← Unbox#15, Constant#14 Int32 17 Add ← BitAnd#13, Ursh#16 [int32] Int32 18 Unbox Parameter#1 to Int32 (fallible) Int32 19 BitNot ← Unbox#18 Int32 20 Sub ← Add#17, BitNot#19 [int32] Int32 21 BitXor ← Rsh#10, Sub#20 Int32 22 BitOr ← Lsh#7, BitXor#21 Int32 23 Return ← BitOr#22
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 Int32 8 Constant 0x1 Int32 9 Unbox Parameter#1 to Int32 (fallible) Int32 10 Rsh ← Unbox#9, Constant#8 Int32 11 Constant 0xff Int32 12 Unbox Parameter#1 to Int32 (fallible) Int32 13 BitAnd ← Unbox#12, Constant#11 Int32 14 Constant 0x2 Int32 15 Unbox Parameter#1 to Int32 (fallible) Int32 16 Ursh ← Unbox#15, Constant#14 Int32 17 Add ← BitAnd#13, Ursh#16 [int32] Int32 18 Unbox Parameter#1 to Int32 (fallible) Int32 19 BitNot ← Unbox#18 Int32 20 Sub ← Add#17, BitNot#19 [int32] Int32 21 BitXor ← Rsh#10, Sub#20 Int32 22 BitOr ← Lsh#7, BitXor#21 Int32 23 Return ← BitOr#22
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 Int32 8 Constant 0x1 Int32 9 Unbox Parameter#1 to Int32 (fallible) Int32 10 Rsh ← Unbox#9, Constant#8 Int32 11 Constant 0xff Int32 12 Unbox Parameter#1 to Int32 (fallible) Int32 13 BitAnd ← Unbox#12, Constant#11 Int32 14 Constant 0x2 Int32 15 Unbox Parameter#1 to Int32 (fallible) Int32 16 Ursh ← Unbox#15, Constant#14 Int32 17 Add ← BitAnd#13, Ursh#16 [int32] Int32 18 Unbox Parameter#1 to Int32 (fallible) Int32 19 BitNot ← Unbox#18 Int32 20 Sub ← Add#17, BitNot#19 [int32] Int32 21 BitXor ← Rsh#10, Sub#20 Int32 22 BitOr ← Lsh#7, BitXor#21 Int32 23 Return ← BitOr#22
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 Int32 8 Constant 0x1 Int32 9 Unbox Parameter#1 to Int32 (fallible) Int32 10 Rsh ← Unbox#9, Constant#8 Int32 11 Constant 0xff Int32 12 Unbox Parameter#1 to Int32 (fallible) Int32 13 BitAnd ← Unbox#12, Constant#11 Int32 14 Constant 0x2 Int32 15 Unbox Parameter#1 to Int32 (fallible) Int32 16 Ursh ← Unbox#15, Constant#14 Int32 17 Add ← BitAnd#13, Ursh#16 [int32] Int32 18 Unbox Parameter#1 to Int32 (fallible) Int32 19 BitNot ← Unbox#18 Int32 20 Sub ← Add#17, BitNot#19 [int32] Int32 21 BitXor ← Rsh#10, Sub#20 Int32 22 BitOr ← Lsh#7, BitXor#21 Int32 23 Return ← BitOr#22
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 Int32 8 Constant 0x1 Int32 9 Unbox Parameter#1 to Int32 (fallible) Int32 10 Rsh ← Unbox#9, Constant#8 Int32 11 Constant 0xff Int32 12 Unbox Parameter#1 to Int32 (fallible) Int32 13 BitAnd ← Unbox#12, Constant#11 Int32 14 Constant 0x2 Int32 15 Unbox Parameter#1 to Int32 (fallible) Int32 16 Ursh ← Unbox#15, Constant#14 Int32 17 Add ← BitAnd#13, Ursh#16 [int32] Int32 18 Unbox Parameter#1 to Int32 (fallible) Int32 19 BitNot ← Unbox#18 Int32 20 Sub ← Add#17, BitNot#19 [int32] Int32 21 BitXor ← Rsh#10, Sub#20 Int32 22 BitOr ← Lsh#7, BitXor#21 Int32 23 Return ← BitOr#22
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 Int32 8 Constant 0x1 Int32 9 Unbox Parameter#1 to Int32 (fallible) Int32 10 Rsh ← Unbox#9, Constant#8 Int32 11 Constant 0xff Int32 12 Unbox Parameter#1 to Int32 (fallible) Int32 13 BitAnd ← Unbox#12, Constant#11 Int32 14 Constant 0x2 Int32 15 Unbox Parameter#1 to Int32 (fallible) Int32 16 Ursh ← Unbox#15, Constant#14 Int32 17 Add ← BitAnd#13, Ursh#16 [int32] Int32 18 Unbox Parameter#1 to Int32 (fallible) Int32 19 BitNot ← Unbox#18 Int32 20 Sub ← Add#17, BitNot#19 [int32] Int32 21 BitXor ← Rsh#10, Sub#20 Int32 22 BitOr ← Lsh#7, BitXor#21 Int32 23 Return ← BitOr#22
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 Int32 8 Constant 0x1 Int32 9 Unbox Parameter#1 to Int32 (fallible) Int32 10 Rsh ← Unbox#9, Constant#8 Int32 11 Constant 0xff Int32 12 Unbox Parameter#1 to Int32 (fallible) Int32 13 BitAnd ← Unbox#12, Constant#11 Int32 14 Constant 0x2 Int32 15 Unbox Parameter#1 to Int32 (fallible) Int32 16 Ursh ← Unbox#15, Constant#14 Int32 17 Add ← BitAnd#13, Ursh#16 [int32] Int32 18 Unbox Parameter#1 to Int32 (fallible) Int32 19 BitNot ← Unbox#18 Int32 20 Sub ← Add#17, BitNot#19 [int32] Int32 21 BitXor ← Rsh#10, Sub#20 Int32 22 BitOr ← Lsh#7, BitXor#21 Int32 23 Return ← BitOr#22
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 Int32 8 Constant 0x1 Int32 9 Unbox Parameter#1 to Int32 (fallible) Int32 10 Rsh ← Unbox#9, Constant#8 Int32 11 Constant 0xff Int32 12 Unbox Parameter#1 to Int32 (fallible) Int32 13 BitAnd ← Unbox#12, Constant#11 Int32 14 Constant 0x2 Int32 15 Unbox Parameter#1 to Int32 (fallible) Int32 16 Ursh ← Unbox#15, Constant#14 Int32 17 Add ← BitAnd#13, Ursh#16 [int32] Int32 18 Unbox Parameter#1 to Int32 (fallible) Int32 19 BitNot ← Unbox#18 Int32 20 Sub ← Add#17, BitNot#19 [int32] Int32 21 BitXor ← Rsh#10, Sub#20 Int32 22 BitOr ← Lsh#7, BitXor#21 Int32 23 Return ← BitOr#22
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 Int32 8 Constant 0x1 Int32 9 Unbox Parameter#1 to Int32 (fallible) Int32 10 Rsh ← Unbox#9, Constant#8 Int32 11 Constant 0xff Int32 12 Unbox Parameter#1 to Int32 (fallible) Int32 13 BitAnd ← Unbox#12, Constant#11 Int32 14 Constant 0x2 Int32 15 Unbox Parameter#1 to Int32 (fallible) Int32 16 Ursh ← Unbox#15, Constant#14 Int32 17 Add ← BitAnd#13, Ursh#16 [int32] Int32 18 Unbox Parameter#1 to Int32 (fallible) Int32 19 BitNot ← Unbox#18 Int32 20 Sub ← Add#17, BitNot#19 [int32] Int32 21 BitXor ← Rsh#10, Sub#20 Int32 22 BitOr ← Lsh#7, BitXor#21 Int32 23 Return ← BitOr#22
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 Int32 8 Constant 0x1 Int32 9 Unbox Parameter#1 to Int32 (fallible) Int32 10 Rsh ← Unbox#9, Constant#8 Int32 11 Constant 0xff Int32 12 Unbox Parameter#1 to Int32 (fallible) Int32 13 BitAnd ← Unbox#12, Constant#11 Int32 14 Constant 0x2 Int32 15 Unbox Parameter#1 to Int32 (fallible) Int32 16 Ursh ← Unbox#15, Constant#14 Int32 17 Add ← BitAnd#13, Ursh#16 [int32] Int32 18 Unbox Parameter#1 to Int32 (fallible) Int32 19 BitNot ← Unbox#18 Int32 20 Sub ← Add#17, BitNot#19 [int32] Int32 21 BitXor ← Rsh#10, Sub#20 Int32 22 BitOr ← Lsh#7, BitXor#21 Int32 24 Box ← BitOr#22 Value 23 Return ← Box#24
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 Int32 8 Constant 0x1 Int32 9 Unbox Parameter#1 to Int32 (fallible) Int32 10 Rsh ← Unbox#9, Constant#8 Int32 11 Constant 0xff Int32 12 Unbox Parameter#1 to Int32 (fallible) Int32 13 BitAnd ← Unbox#12, Constant#11 Int32 14 Constant 0x2 Int32 15 Unbox Parameter#1 to Int32 (fallible) Int32 16 Ursh ← Unbox#15, Constant#14 Int32 17 Add ← BitAnd#13, Ursh#16 [int32] Int32 18 Unbox Parameter#1 to Int32 (fallible) Int32 19 BitNot ← Unbox#18 Int32 20 Sub ← Add#17, BitNot#19 [int32] Int32 21 BitXor ← Rsh#10, Sub#20 Int32 22 BitOr ← Lsh#7, BitXor#21 Int32 23 Box ← BitOr#22 Value 24 Return ← Box#23
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 Int32 8 Constant 0x1 Int32 9 Unbox Parameter#1 to Int32 (fallible) Int32 10 Rsh ← Unbox#9, Constant#8 Int32 11 Constant 0xff Int32 12 Unbox Parameter#1 to Int32 (fallible) Int32 13 BitAnd ← Unbox#12, Constant#11 Int32 14 Constant 0x2 Int32 15 Unbox Parameter#1 to Int32 (fallible) Int32 16 Ursh ← Unbox#15, Constant#14 Int32 17 Add ← BitAnd#13, Ursh#16 [int32] Int32 18 Unbox Parameter#1 to Int32 (fallible) Int32 19 BitNot ← Unbox#18 Int32 20 Sub ← Add#17, BitNot#19 [int32] Int32 21 BitXor ← Rsh#10, Sub#20 Int32 22 BitOr ← Lsh#7, BitXor#21 Int32 23 Box ← BitOr#22 Value 24 Return ← Box#23
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 Int32 10 Rsh ← Unbox#6, Constant#5 Int32 11 Constant 0xff Int32 13 BitAnd ← Unbox#6, Constant#11 Int32 14 Constant 0x2 Int32 16 Ursh ← Unbox#6, Constant#14 Int32 17 Add ← BitAnd#13, Ursh#16 [int32] Int32 19 BitNot ← Unbox#6 Int32 20 Sub ← Add#17, BitNot#19 [int32] Int32 21 BitXor ← Rsh#10, Sub#20 Int32 22 BitOr ← Lsh#7, BitXor#21 Int32 23 Box ← BitOr#22 Value 24 Return ← Box#23
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 Int32 10 Rsh ← Unbox#6, Constant#5 Int32 11 Constant 0xff Int32 13 BitAnd ← Unbox#6, Constant#11 Int32 14 Constant 0x2 Int32 16 Ursh ← Unbox#6, Constant#14 Int32 17 Add ← BitAnd#13, Ursh#16 [int32] Int32 19 BitNot ← Unbox#6 Int32 20 Sub ← Add#17, BitNot#19 [int32] Int32 21 BitXor ← Rsh#10, Sub#20 Int32 22 BitOr ← Lsh#7, BitXor#21 Int32 23 Box ← BitOr#22 Value 24 Return ← Box#23
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 Int32 10 Rsh ← Unbox#6, Constant#5 Int32 11 Constant 0xff Int32 13 BitAnd ← Unbox#6, Constant#11 Int32 14 Constant 0x2 Int32 16 Ursh ← Unbox#6, Constant#14 Int32 17 Add ← BitAnd#13, Ursh#16 [int32] Int32 19 BitNot ← Unbox#6 Int32 20 Sub ← Add#17, BitNot#19 [int32] Int32 21 BitXor ← Rsh#10, Sub#20 Int32 22 BitOr ← Lsh#7, BitXor#21 Int32 23 Box ← BitOr#22 Value 24 Return ← Box#23
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 I[1, 1]: Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32 10 Rsh ← Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32 11 Constant 0xff I[255, 255]: Int32 13 BitAnd ← Unbox#6, Constant#11 I[0, 255]: Int32 14 Constant 0x2 I[2, 2]: Int32 16 Ursh ← Unbox#6, Constant#14 I[0, 1073741823]: Int32 17 Add ← BitAnd#13, Ursh#16 [int32] I[0, 1073742078]: Int32 19 BitNot ← Unbox#6 I[-2147483648, 2147483647]: Int32 20 Sub ← Add#17, BitNot#19 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 21 BitXor ← Rsh#10, Sub#20 I[-2147483648, 2147483647]: Int32 22 BitOr ← Lsh#7, BitXor#21 I[-2147483648, 2147483647]: Int32 23 Box ← BitOr#22 Value 24 Return ← Box#23
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 I[1, 1]: Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32 10 Rsh ← Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32 11 Constant 0xff I[255, 255]: Int32 13 BitAnd ← Unbox#6, Constant#11 I[0, 255]: Int32 14 Constant 0x2 I[2, 2]: Int32 16 Ursh ← Unbox#6, Constant#14 I[0, 1073741823]: Int32 17 Add ← BitAnd#13, Ursh#16 [int32] I[0, 1073742078]: Int32 19 BitNot ← Unbox#6 I[-2147483648, 2147483647]: Int32 20 Sub ← Add#17, BitNot#19 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 21 BitXor ← Rsh#10, Sub#20 I[-2147483648, 2147483647]: Int32 22 BitOr ← Lsh#7, BitXor#21 I[-2147483648, 2147483647]: Int32 23 Box ← BitOr#22 Value 24 Return ← Box#23
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 I[1, 1]: Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32 10 Rsh ← Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32 11 Constant 0xff I[255, 255]: Int32 13 BitAnd ← Unbox#6, Constant#11 I[0, 255]: Int32 14 Constant 0x2 I[2, 2]: Int32 16 Ursh ← Unbox#6, Constant#14 I[0, 1073741823]: Int32 17 Add ← BitAnd#13, Ursh#16 [int32] I[0, 1073742078]: Int32 19 BitNot ← Unbox#6 I[-2147483648, 2147483647]: Int32 20 Sub ← Add#17, BitNot#19 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 21 BitXor ← Rsh#10, Sub#20 I[-2147483648, 2147483647]: Int32 22 BitOr ← Lsh#7, BitXor#21 I[-2147483648, 2147483647]: Int32 23 Box ← BitOr#22 Value 24 Return ← Box#23
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 I[1, 1]: Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32 10 Rsh ← Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32 11 Constant 0xff I[255, 255]: Int32 13 BitAnd ← Unbox#6, Constant#11 I[0, 255]: Int32 14 Constant 0x2 I[2, 2]: Int32 16 Ursh ← Unbox#6, Constant#14 I[0, 1073741823]: Int32 17 Add ← BitAnd#13, Ursh#16 [int32] I[0, 1073742078]: Int32 19 BitNot ← Unbox#6 I[-2147483648, 2147483647]: Int32 20 Sub ← Add#17, BitNot#19 [int32] I[-2147483648, 2147483647]: Int32 (t) 21 BitXor ← Rsh#10, Sub#20 I[-2147483648, 2147483647]: Int32 22 BitOr ← Lsh#7, BitXor#21 I[-2147483648, 2147483647]: Int32 23 Box ← BitOr#22 Value 24 Return ← Box#23
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 I[1, 1]: Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32 10 Rsh ← Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32 11 Constant 0xff I[255, 255]: Int32 13 BitAnd ← Unbox#6, Constant#11 I[0, 255]: Int32 14 Constant 0x2 I[2, 2]: Int32 16 Ursh ← Unbox#6, Constant#14 I[0, 1073741823]: Int32 17 Add ← BitAnd#13, Ursh#16 [int32] I[0, 1073742078]: Int32 19 BitNot ← Unbox#6 I[-2147483648, 2147483647]: Int32 20 Sub ← Add#17, BitNot#19 [int32] I[-2147483648, 2147483647]: Int32 (t) 21 BitXor ← Rsh#10, Sub#20 I[-2147483648, 2147483647]: Int32 22 BitOr ← Lsh#7, BitXor#21 I[-2147483648, 2147483647]: Int32 23 Box ← BitOr#22 Value 24 Return ← Box#23
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 I[1, 1]: Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32 10 Rsh ← Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32 11 Constant 0xff I[255, 255]: Int32 13 BitAnd ← Unbox#6, Constant#11 I[0, 255]: Int32 14 Constant 0x2 I[2, 2]: Int32 16 Ursh ← Unbox#6, Constant#14 I[0, 1073741823]: Int32 17 Add ← BitAnd#13, Ursh#16 [int32] I[0, 1073742078]: Int32 19 BitNot ← Unbox#6 I[-2147483648, 2147483647]: Int32 20 Sub ← Add#17, BitNot#19 [int32] I[-2147483648, 2147483647]: Int32 (t) 21 BitXor ← Rsh#10, Sub#20 I[-2147483648, 2147483647]: Int32 22 BitOr ← Lsh#7, BitXor#21 I[-2147483648, 2147483647]: Int32 23 Box ← BitOr#22 Value 24 Return ← Box#23
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 I[1, 1]: Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32 10 Rsh ← Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32 11 Constant 0xff I[255, 255]: Int32 13 BitAnd ← Unbox#6, Constant#11 I[0, 255]: Int32 14 Constant 0x2 I[2, 2]: Int32 16 Ursh ← Unbox#6, Constant#14 I[0, 1073741823]: Int32 17 Add ← BitAnd#13, Ursh#16 [int32] I[0, 1073742078]: Int32 19 BitNot ← Unbox#6 I[-2147483648, 2147483647]: Int32 20 Sub ← Add#17, BitNot#19 [int32] I[-2147483648, 2147483647]: Int32 (t) 21 BitXor ← Rsh#10, Sub#20 I[-2147483648, 2147483647]: Int32 22 BitOr ← Lsh#7, BitXor#21 I[-2147483648, 2147483647]: Int32 23 Box ← BitOr#22 Value 24 Return ← Box#23
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 I[1, 1]: Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32 10 Rsh ← Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32 11 Constant 0xff I[255, 255]: Int32 13 BitAnd ← Unbox#6, Constant#11 I[0, 255]: Int32 14 Constant 0x2 I[2, 2]: Int32 16 Ursh ← Unbox#6, Constant#14 I[0, 1073741823]: Int32 17 Add ← BitAnd#13, Ursh#16 [int32] I[0, 1073742078]: Int32 19 BitNot ← Unbox#6 I[-2147483648, 2147483647]: Int32 20 Sub ← Add#17, BitNot#19 [int32] I[-2147483648, 2147483647]: Int32 (t) 21 BitXor ← Rsh#10, Sub#20 I[-2147483648, 2147483647]: Int32 22 BitOr ← Lsh#7, BitXor#21 I[-2147483648, 2147483647]: Int32 23 Box ← BitOr#22 Value 24 Return ← Box#23
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 I[1, 1]: Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32 8 Rsh ← Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32 9 Constant 0xff I[255, 255]: Int32 10 BitAnd ← Unbox#6, Constant#9 I[0, 255]: Int32 11 Constant 0x2 I[2, 2]: Int32 12 Ursh ← Unbox#6, Constant#11 I[0, 1073741823]: Int32 13 Add ← BitAnd#10, Ursh#12 [int32] I[0, 1073742078]: Int32 14 BitNot ← Unbox#6 I[-2147483648, 2147483647]: Int32 15 Sub ← Add#13, BitNot#14 [int32] I[-2147483648, 2147483647]: Int32 (t) 16 BitXor ← Rsh#8, Sub#15 I[-2147483648, 2147483647]: Int32 17 BitOr ← Lsh#7, BitXor#16 I[-2147483648, 2147483647]: Int32 18 Box ← BitOr#17 Value 19 Return ← Box#18
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 I[1, 1]: Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32 8 Rsh ← Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32 9 Constant 0xff I[255, 255]: Int32 10 BitAnd ← Unbox#6, Constant#9 I[0, 255]: Int32 11 Constant 0x2 I[2, 2]: Int32 12 Ursh ← Unbox#6, Constant#11 I[0, 1073741823]: Int32 13 Add ← BitAnd#10, Ursh#12 [int32] I[0, 1073742078]: Int32 14 BitNot ← Unbox#6 I[-2147483648, 2147483647]: Int32 15 Sub ← Add#13, BitNot#14 [int32] I[-2147483648, 2147483647]: Int32 (t) 16 BitXor ← Rsh#8, Sub#15 I[-2147483648, 2147483647]: Int32 17 BitOr ← Lsh#7, BitXor#16 I[-2147483648, 2147483647]: Int32 18 Box ← BitOr#17 Value 19 Return ← Box#18
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 I[1, 1]: Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32 8 Rsh ← Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32 9 Constant 0xff I[255, 255]: Int32 10 BitAnd ← Unbox#6, Constant#9 I[0, 255]: Int32 11 Constant 0x2 I[2, 2]: Int32 12 Ursh ← Unbox#6, Constant#11 I[0, 1073741823]: Int32 13 Add ← BitAnd#10, Ursh#12 [int32] I[0, 1073742078]: Int32 14 BitNot ← Unbox#6 I[-2147483648, 2147483647]: Int32 15 Sub ← Add#13, BitNot#14 [int32] I[-2147483648, 2147483647]: Int32 (t) 16 BitXor ← Rsh#8, Sub#15 I[-2147483648, 2147483647]: Int32 17 BitOr ← Lsh#7, BitXor#16 I[-2147483648, 2147483647]: Int32 18 Box ← BitOr#17 Value 19 Return ← Box#18
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 I[1, 1]: Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32 8 Rsh ← Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32 9 Constant 0xff I[255, 255]: Int32 10 BitAnd ← Unbox#6, Constant#9 I[0, 255]: Int32 11 Constant 0x2 I[2, 2]: Int32 12 Ursh ← Unbox#6, Constant#11 I[0, 1073741823]: Int32 13 Add ← BitAnd#10, Ursh#12 [int32] I[0, 1073742078]: Int32 14 BitNot ← Unbox#6 I[-2147483648, 2147483647]: Int32 15 Sub ← Add#13, BitNot#14 [int32] I[-2147483648, 2147483647]: Int32 (t) 16 BitXor ← Rsh#8, Sub#15 I[-2147483648, 2147483647]: Int32 17 BitOr ← Lsh#7, BitXor#16 I[-2147483648, 2147483647]: Int32 18 Box ← BitOr#17 Value 19 Return ← Box#18
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 I[1, 1]: Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32 8 Rsh ← Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32 9 Constant 0xff I[255, 255]: Int32 10 BitAnd ← Unbox#6, Constant#9 I[0, 255]: Int32 11 Constant 0x2 I[2, 2]: Int32 12 Ursh ← Unbox#6, Constant#11 I[0, 1073741823]: Int32 13 Add ← BitAnd#10, Ursh#12 [int32] I[0, 1073742078]: Int32 14 BitNot ← Unbox#6 I[-2147483648, 2147483647]: Int32 15 Sub ← Add#13, BitNot#14 [int32] I[-2147483648, 2147483647]: Int32 (t) 16 BitXor ← Rsh#8, Sub#15 I[-2147483648, 2147483647]: Int32 17 BitOr ← Lsh#7, BitXor#16 I[-2147483648, 2147483647]: Int32 18 Box ← BitOr#17 Value 19 Return ← Box#18
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 I[1, 1]: Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32 8 Rsh ← Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32 9 Constant 0xff I[255, 255]: Int32 10 BitAnd ← Unbox#6, Constant#9 I[0, 255]: Int32 11 Constant 0x2 I[2, 2]: Int32 12 Ursh ← Unbox#6, Constant#11 I[0, 1073741823]: Int32 13 Add ← BitAnd#10, Ursh#12 [int32] I[0, 1073742078]: Int32 14 BitNot ← Unbox#6 I[-2147483648, 2147483647]: Int32 15 Sub ← Add#13, BitNot#14 [int32] I[-2147483648, 2147483647]: Int32 (t) 16 BitXor ← Rsh#8, Sub#15 I[-2147483648, 2147483647]: Int32 17 BitOr ← Lsh#7, BitXor#16 I[-2147483648, 2147483647]: Int32 18 Box ← BitOr#17 Value 19 Return ← Box#18
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 I[1, 1]: Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32 8 Rsh ← Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32 9 Constant 0xff I[255, 255]: Int32 10 BitAnd ← Unbox#6, Constant#9 I[0, 255]: Int32 11 Constant 0x2 I[2, 2]: Int32 12 Ursh ← Unbox#6, Constant#11 I[0, 1073741823]: Int32 13 Add ← BitAnd#10, Ursh#12 [int32] I[0, 1073742078]: Int32 14 BitNot ← Unbox#6 I[-2147483648, 2147483647]: Int32 15 Sub ← Add#13, BitNot#14 [int32] I[-2147483648, 2147483647]: Int32 (t) 16 BitXor ← Rsh#8, Sub#15 I[-2147483648, 2147483647]: Int32 17 BitOr ← Lsh#7, BitXor#16 I[-2147483648, 2147483647]: Int32 18 Box ← BitOr#17 Value 19 Return ← Box#18
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 I[1, 1]: Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32 8 Rsh ← Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32 9 Constant 0xff I[255, 255]: Int32 10 BitAnd ← Unbox#6, Constant#9 I[0, 255]: Int32 11 Constant 0x2 I[2, 2]: Int32 12 Ursh ← Unbox#6, Constant#11 I[0, 1073741823]: Int32 13 Add ← BitAnd#10, Ursh#12 [int32] I[0, 1073742078]: Int32 14 BitNot ← Unbox#6 I[-2147483648, 2147483647]: Int32 15 Sub ← Add#13, BitNot#14 [int32] I[-2147483648, 2147483647]: Int32 (t) 16 BitXor ← Rsh#8, Sub#15 I[-2147483648, 2147483647]: Int32 17 BitOr ← Lsh#7, BitXor#16 I[-2147483648, 2147483647]: Int32 18 Box ← BitOr#17 Value 19 Return ← Box#18
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 I[1, 1]: Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32 8 Rsh ← Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32 9 Constant 0xff I[255, 255]: Int32 10 BitAnd ← Unbox#6, Constant#9 I[0, 255]: Int32 11 Constant 0x2 I[2, 2]: Int32 12 Ursh ← Unbox#6, Constant#11 I[0, 1073741823]: Int32 13 Add ← BitAnd#10, Ursh#12 [int32] I[0, 1073742078]: Int32 14 BitNot ← Unbox#6 I[-2147483648, 2147483647]: Int32 15 Sub ← Add#13, BitNot#14 [int32] I[-2147483648, 2147483647]: Int32 (t) 16 BitXor ← Rsh#8, Sub#15 I[-2147483648, 2147483647]: Int32 17 BitOr ← Lsh#7, BitXor#16 I[-2147483648, 2147483647]: Int32 18 Box ← BitOr#17 Value 19 Return ← Box#18
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant 0x1 I[1, 1]: Int32 6 Unbox Parameter#1 to Int32 (fallible) Int32 7 Lsh ← Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32 8 Rsh ← Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32 9 Constant 0xff I[255, 255]: Int32 10 BitAnd ← Unbox#6, Constant#9 I[0, 255]: Int32 11 Constant 0x2 I[2, 2]: Int32 12 Ursh ← Unbox#6, Constant#11 I[0, 1073741823]: Int32 13 Add ← BitAnd#10, Ursh#12 [int32] I[0, 1073742078]: Int32 14 BitNot ← Unbox#6 I[-2147483648, 2147483647]: Int32 15 Sub ← Add#13, BitNot#14 [int32] I[-2147483648, 2147483647]: Int32 (t) 16 BitXor ← Rsh#8, Sub#15 I[-2147483648, 2147483647]: Int32 17 BitOr ← Lsh#7, BitXor#16 I[-2147483648, 2147483647]: Int32 18 Box ← BitOr#17 Value 19 Return ← Box#18
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c28540 String 29 Bail 30 UnreachableResult Value 31 Goto → block 2 Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 47 UnreachableResult Value 48 Bail 49 UnreachableResult Value 50 Goto → block 4 Block 4 51 ArgumentsLength Int32 52 Constant 0x1 Int32 53 Compare ← ArgumentsLength#51, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 55 Constant 0x1 Int32 56 GetFrameArgument ← Constant#55 Value 57 Goto → block 7 Block 6 58 Constant undefined Undefined 59 Goto → block 7 Block 7 60 Phi ← Constant#58, GetFrameArgument#56 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 DebugCheckSelfHosted ← Constant#61 Value 63 Constant undefined Undefined 64 Constant 0x1 Int32 65 HasShape ← Unbox#9 Bool 66 Test ← HasShape#65 → block 8, block 9 1 0 Block 8 67 Constant shape at 104289c64f00 Shape 68 NewArrayObject ← Constant#67 Object 69 Goto → block 10 Block 9 70 CallGetIntrinsicValue Value 71 DebugCheckSelfHosted ← CallGetIntrinsicValue#70 Value 72 Constant undefined Undefined 73 Constant 0x0 Int32 74 Bail 75 UnreachableResult Value 76 Goto → block 10 Block 10 77 Phi ← UnreachableResult#75, NewArrayObject#68 Value 78 Constant 0x0 Int32 79 Constant 0x0 Int32 92 Goto → block 11 Block 11 (loop header) 80 Phi ← Constant#2, Constant#2 Value 81 Phi ← Constant#2, Constant#2 Value 82 Phi ← Parameter#0, Parameter#0 Value 83 Phi ← Parameter#1, Parameter#1 Value 84 Phi ← Unbox#9, Unbox#9 Value 85 Phi ← MinMax#18, MinMax#18 Value 86 Phi ← Phi#60, Phi#60 Value 87 Phi ← Phi#77, Phi#77 Value 88 Phi ← Constant#78, Add#141 Value 89 Phi ← Constant#79, Phi#137 Value 90 Phi ← Constant#2, Phi#138 Value 91 Phi ← Parameter#0, Parameter#0 Value 93 InterruptCheck 94 Unbox Phi#88 to Int32 (fallible) Int32 95 Unbox Phi#85 to Int32 (fallible) Int32 96 Compare ← Unbox#94, Unbox#95 Lt Bool 97 Test ← Compare#96 → block 12, block 18 1 0 Block 12 98 Unbox Phi#84 to Object (fallible) Object 99 Unbox Phi#88 to Int32 (fallible) Int32 100 GuardShape ← Unbox#98 Object 101 Elements ← GuardShape#100 Elements 102 InitializedLength ← Elements#101 Int32 103 BoundsCheck ← Unbox#99, InitializedLength#102 Int32 104 SpectreMaskIndex ← BoundsCheck#103, InitializedLength#102 Int32 105 GuardElementNotHole ← Elements#101, SpectreMaskIndex#104 106 Constant true Bool 107 Test ← Constant#106 → block 13, block 17 1 0 Block 13 108 Unbox Phi#84 to Object (fallible) Object 109 Unbox Phi#88 to Int32 (fallible) Int32 110 GuardShape ← Unbox#108 Object 111 Elements ← GuardShape#110 Elements 112 InitializedLength ← Elements#111 Int32 113 BoundsCheck ← Unbox#109, InitializedLength#112 Int32 114 SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112 Int32 115 GuardElementsArePacked ← Elements#111 116 LoadElement ← Elements#111, SpectreMaskIndex#114 Value 117 Constant 0x3 Int32 118 Unbox Phi#83 to Object (fallible) Object 119 GuardToFunction ← Unbox#118 Object 120 GuardFunctionScript ← GuardToFunction#119 Object 121 Goto → block 14 Block 14 122 Constant undefined Undefined 123 Constant 0x32 Int32 124 Unbox LoadElement#116 to Double (fallible) Double 125 Compare ← Unbox#124, Constant#123 Gt Bool 127 Goto → block 15 Block 15 128 Test ← Compare#125 → block 16, block 17 1 0 Block 16 129 Unbox Phi#89 to Int32 (fallible) Int32 130 Constant 0x1 Int32 131 Add ← Unbox#129, Constant#130 [int32] Int32 132 Unbox Phi#87 to Object (fallible) Object 133 GuardShape ← Unbox#132 Object 134 Elements ← GuardShape#133 Elements 135 StoreElementHole ← GuardShape#133, Elements#134, Unbox#129, LoadElement#116 136 Goto → block 17 Block 17 (backedge) 137 Phi ← Add#131, Phi#89, Phi#89 Value 138 Phi ← LoadElement#116, Phi#90, LoadElement#116 Value 139 Unbox Phi#88 to Int32 (fallible) Int32 140 Constant 0x1 Int32 141 Add ← Unbox#139, Constant#140 [int32] Int32 142 Goto → block 11 Block 18 143 Return ← Phi#87
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c28540 String 29 Bail 146 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 145 Unreachable Block 4 51 ArgumentsLength Int32 52 Constant 0x1 Int32 53 Compare ← ArgumentsLength#51, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 55 Constant 0x1 Int32 56 GetFrameArgument ← Constant#55 Value 57 Goto → block 7 Block 6 58 Constant undefined Undefined 59 Goto → block 7 Block 7 60 Phi ← Constant#58, GetFrameArgument#56 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 DebugCheckSelfHosted ← Constant#61 Value 63 Constant undefined Undefined 64 Constant 0x1 Int32 65 HasShape ← Unbox#9 Bool 66 Test ← HasShape#65 → block 8, block 9 1 0 Block 8 67 Constant shape at 104289c64f00 Shape 68 NewArrayObject ← Constant#67 Object 69 Goto → block 10 Block 9 70 CallGetIntrinsicValue Value 71 DebugCheckSelfHosted ← CallGetIntrinsicValue#70 Value 72 Constant undefined Undefined 73 Constant 0x0 Int32 74 Bail 144 Unreachable Block 10 77 Phi ← NewArrayObject#68 Value 78 Constant 0x0 Int32 79 Constant 0x0 Int32 92 Goto → block 11 Block 11 (loop header) 80 Phi ← Constant#2, Constant#2 Value 81 Phi ← Constant#2, Constant#2 Value 82 Phi ← Parameter#0, Parameter#0 Value 83 Phi ← Parameter#1, Parameter#1 Value 84 Phi ← Unbox#9, Unbox#9 Value 85 Phi ← MinMax#18, MinMax#18 Value 86 Phi ← Phi#60, Phi#60 Value 87 Phi ← Phi#77, Phi#77 Value 88 Phi ← Constant#78, Add#141 Value 89 Phi ← Constant#79, Phi#137 Value 90 Phi ← Constant#2, Phi#138 Value 91 Phi ← Parameter#0, Parameter#0 Value 93 InterruptCheck 94 Unbox Phi#88 to Int32 (fallible) Int32 95 Unbox Phi#85 to Int32 (fallible) Int32 96 Compare ← Unbox#94, Unbox#95 Lt Bool 97 Test ← Compare#96 → block 12, block 18 1 0 Block 12 98 Unbox Phi#84 to Object (fallible) Object 99 Unbox Phi#88 to Int32 (fallible) Int32 100 GuardShape ← Unbox#98 Object 101 Elements ← GuardShape#100 Elements 102 InitializedLength ← Elements#101 Int32 103 BoundsCheck ← Unbox#99, InitializedLength#102 Int32 104 SpectreMaskIndex ← BoundsCheck#103, InitializedLength#102 Int32 105 GuardElementNotHole ← Elements#101, SpectreMaskIndex#104 106 Constant true Bool 107 Test ← Constant#106 → block 13, block 17 1 0 Block 13 108 Unbox Phi#84 to Object (fallible) Object 109 Unbox Phi#88 to Int32 (fallible) Int32 110 GuardShape ← Unbox#108 Object 111 Elements ← GuardShape#110 Elements 112 InitializedLength ← Elements#111 Int32 113 BoundsCheck ← Unbox#109, InitializedLength#112 Int32 114 SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112 Int32 115 GuardElementsArePacked ← Elements#111 116 LoadElement ← Elements#111, SpectreMaskIndex#114 Value 117 Constant 0x3 Int32 118 Unbox Phi#83 to Object (fallible) Object 119 GuardToFunction ← Unbox#118 Object 120 GuardFunctionScript ← GuardToFunction#119 Object 121 Goto → block 14 Block 14 122 Constant undefined Undefined 123 Constant 0x32 Int32 124 Unbox LoadElement#116 to Double (fallible) Double 125 Compare ← Unbox#124, Constant#123 Gt Bool 127 Goto → block 15 Block 15 128 Test ← Compare#125 → block 16, block 17 1 0 Block 16 129 Unbox Phi#89 to Int32 (fallible) Int32 130 Constant 0x1 Int32 131 Add ← Unbox#129, Constant#130 [int32] Int32 132 Unbox Phi#87 to Object (fallible) Object 133 GuardShape ← Unbox#132 Object 134 Elements ← GuardShape#133 Elements 135 StoreElementHole ← GuardShape#133, Elements#134, Unbox#129, LoadElement#116 136 Goto → block 17 Block 17 (backedge) 137 Phi ← Add#131, Phi#89, Phi#89 Value 138 Phi ← LoadElement#116, Phi#90, LoadElement#116 Value 139 Unbox Phi#88 to Int32 (fallible) Int32 140 Constant 0x1 Int32 141 Add ← Unbox#139, Constant#140 [int32] Int32 142 Goto → block 11 Block 18 143 Return ← Phi#87
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c28540 String 29 Bail 146 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 145 Unreachable Block 4 51 ArgumentsLength Int32 52 Constant 0x1 Int32 53 Compare ← ArgumentsLength#51, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 55 Constant 0x1 Int32 56 GetFrameArgument ← Constant#55 Value 57 Goto → block 7 Block 6 58 Constant undefined Undefined 59 Goto → block 7 Block 7 60 Phi ← Constant#58, GetFrameArgument#56 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 DebugCheckSelfHosted ← Constant#61 Value 63 Constant undefined Undefined 64 Constant 0x1 Int32 65 HasShape ← Unbox#9 Bool 66 Test ← HasShape#65 → block 8, block 9 1 0 Block 8 67 Constant shape at 104289c64f00 Shape 68 NewArrayObject ← Constant#67 Object 69 Goto → block 10 Block 9 70 CallGetIntrinsicValue Value 71 DebugCheckSelfHosted ← CallGetIntrinsicValue#70 Value 72 Constant undefined Undefined 73 Constant 0x0 Int32 74 Bail 144 Unreachable Block 10 77 Phi ← NewArrayObject#68 Value 78 Constant 0x0 Int32 79 Constant 0x0 Int32 92 Goto → block 11 Block 11 (loop header) 80 Phi ← Constant#2, Constant#2 Value 81 Phi ← Constant#2, Constant#2 Value 82 Phi ← Parameter#0, Parameter#0 Value 83 Phi ← Parameter#1, Parameter#1 Value 84 Phi ← Unbox#9, Unbox#9 Value 85 Phi ← MinMax#18, MinMax#18 Value 86 Phi ← Phi#60, Phi#60 Value 87 Phi ← Phi#77, Phi#77 Value 88 Phi ← Constant#78, Add#141 Value 89 Phi ← Constant#79, Phi#137 Value 90 Phi ← Constant#2, Phi#138 Value 91 Phi ← Parameter#0, Parameter#0 Value 93 InterruptCheck 94 Unbox Phi#88 to Int32 (fallible) Int32 95 Unbox Phi#85 to Int32 (fallible) Int32 96 Compare ← Unbox#94, Unbox#95 Lt Bool 97 Test ← Compare#96 → block 12, block 18 1 0 Block 12 98 Unbox Phi#84 to Object (fallible) Object 99 Unbox Phi#88 to Int32 (fallible) Int32 100 GuardShape ← Unbox#98 Object 101 Elements ← GuardShape#100 Elements 102 InitializedLength ← Elements#101 Int32 103 BoundsCheck ← Unbox#99, InitializedLength#102 Int32 104 SpectreMaskIndex ← BoundsCheck#103, InitializedLength#102 Int32 105 GuardElementNotHole ← Elements#101, SpectreMaskIndex#104 106 Constant true Bool 107 Test ← Constant#106 → block 13, block 17 1 0 Block 13 108 Unbox Phi#84 to Object (fallible) Object 109 Unbox Phi#88 to Int32 (fallible) Int32 110 GuardShape ← Unbox#108 Object 111 Elements ← GuardShape#110 Elements 112 InitializedLength ← Elements#111 Int32 113 BoundsCheck ← Unbox#109, InitializedLength#112 Int32 114 SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112 Int32 115 GuardElementsArePacked ← Elements#111 116 LoadElement ← Elements#111, SpectreMaskIndex#114 Value 117 Constant 0x3 Int32 118 Unbox Phi#83 to Object (fallible) Object 119 GuardToFunction ← Unbox#118 Object 120 GuardFunctionScript ← GuardToFunction#119 Object 121 Goto → block 14 Block 14 122 Constant undefined Undefined 123 Constant 0x32 Int32 124 Unbox LoadElement#116 to Double (fallible) Double 125 Compare ← Unbox#124, Constant#123 Gt Bool 127 Goto → block 15 Block 15 128 Test ← Compare#125 → block 16, block 17 1 0 Block 16 129 Unbox Phi#89 to Int32 (fallible) Int32 130 Constant 0x1 Int32 131 Add ← Unbox#129, Constant#130 [int32] Int32 132 Unbox Phi#87 to Object (fallible) Object 133 GuardShape ← Unbox#132 Object 134 Elements ← GuardShape#133 Elements 135 StoreElementHole ← GuardShape#133, Elements#134, Unbox#129, LoadElement#116 136 Goto → block 17 Block 17 (backedge) 137 Phi ← Add#131, Phi#89, Phi#89 Value 138 Phi ← LoadElement#116, Phi#90, LoadElement#116 Value 139 Unbox Phi#88 to Int32 (fallible) Int32 140 Constant 0x1 Int32 141 Add ← Unbox#139, Constant#140 [int32] Int32 142 Goto → block 11 Block 18 143 Return ← Phi#87
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c28540 String 29 Bail 146 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 145 Unreachable Block 4 51 ArgumentsLength Int32 52 Constant 0x1 Int32 53 Compare ← ArgumentsLength#51, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 55 Constant 0x1 Int32 56 GetFrameArgument ← Constant#55 Value 57 Goto → block 7 Block 6 58 Constant undefined Undefined 59 Goto → block 7 Block 7 60 Phi ← Constant#58, GetFrameArgument#56 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 DebugCheckSelfHosted ← Constant#61 Value 63 Constant undefined Undefined 64 Constant 0x1 Int32 65 HasShape ← Unbox#9 Bool 66 Test ← HasShape#65 → block 8, block 9 1 0 Block 8 67 Constant shape at 104289c64f00 Shape 68 NewArrayObject ← Constant#67 Object 69 Goto → block 10 Block 9 70 CallGetIntrinsicValue Value 71 DebugCheckSelfHosted ← CallGetIntrinsicValue#70 Value 72 Constant undefined Undefined 73 Constant 0x0 Int32 74 Bail 144 Unreachable Block 10 77 Phi ← NewArrayObject#68 Value 78 Constant 0x0 Int32 79 Constant 0x0 Int32 92 Goto → block 11 Block 11 (loop header) 80 Phi ← Constant#2, Constant#2 Value 81 Phi ← Constant#2, Constant#2 Value 82 Phi ← Parameter#0, Parameter#0 Value 83 Phi ← Parameter#1, Parameter#1 Value 84 Phi ← Unbox#9, Unbox#9 Value 85 Phi ← MinMax#18, MinMax#18 Value 86 Phi ← Phi#60, Phi#60 Value 87 Phi ← Phi#77, Phi#77 Value 88 Phi ← Constant#78, Add#141 Value 89 Phi ← Constant#79, Phi#137 Value 90 Phi ← Constant#2, Phi#138 Value 91 Phi ← Parameter#0, Parameter#0 Value 93 InterruptCheck 94 Unbox Phi#88 to Int32 (fallible) Int32 95 Unbox Phi#85 to Int32 (fallible) Int32 96 Compare ← Unbox#94, Unbox#95 Lt Bool 97 Test ← Compare#96 → block 12, block 18 1 0 Block 12 98 Unbox Phi#84 to Object (fallible) Object 99 Unbox Phi#88 to Int32 (fallible) Int32 100 GuardShape ← Unbox#98 Object 101 Elements ← GuardShape#100 Elements 102 InitializedLength ← Elements#101 Int32 103 BoundsCheck ← Unbox#99, InitializedLength#102 Int32 104 SpectreMaskIndex ← BoundsCheck#103, InitializedLength#102 Int32 105 GuardElementNotHole ← Elements#101, SpectreMaskIndex#104 106 Constant true Bool 107 Test ← Constant#106 → block 13, block 17 1 0 Block 13 108 Unbox Phi#84 to Object (fallible) Object 109 Unbox Phi#88 to Int32 (fallible) Int32 110 GuardShape ← Unbox#108 Object 111 Elements ← GuardShape#110 Elements 112 InitializedLength ← Elements#111 Int32 113 BoundsCheck ← Unbox#109, InitializedLength#112 Int32 114 SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112 Int32 115 GuardElementsArePacked ← Elements#111 116 LoadElement ← Elements#111, SpectreMaskIndex#114 Value 117 Constant 0x3 Int32 118 Unbox Phi#83 to Object (fallible) Object 119 GuardToFunction ← Unbox#118 Object 120 GuardFunctionScript ← GuardToFunction#119 Object 121 Goto → block 14 Block 14 122 Constant undefined Undefined 123 Constant 0x32 Int32 124 Unbox LoadElement#116 to Double (fallible) Double 125 Compare ← Unbox#124, Constant#123 Gt Bool 127 Goto → block 15 Block 15 128 Test ← Compare#125 → block 16, block 17 1 0 Block 16 129 Unbox Phi#89 to Int32 (fallible) Int32 130 Constant 0x1 Int32 131 Add ← Unbox#129, Constant#130 [int32] Int32 132 Unbox Phi#87 to Object (fallible) Object 133 GuardShape ← Unbox#132 Object 134 Elements ← GuardShape#133 Elements 135 StoreElementHole ← GuardShape#133, Elements#134, Unbox#129, LoadElement#116 136 Goto → block 17 Block 17 (backedge) 137 Phi ← Add#131, Phi#89, Phi#89 Value 138 Phi ← LoadElement#116, Phi#90, LoadElement#116 Value 139 Unbox Phi#88 to Int32 (fallible) Int32 140 Constant 0x1 Int32 141 Add ← Unbox#139, Constant#140 [int32] Int32 142 Goto → block 11 Block 18 143 Return ← Phi#87
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c28540 String 29 Bail 146 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 145 Unreachable Block 4 51 ArgumentsLength Int32 52 Constant 0x1 Int32 53 Compare ← ArgumentsLength#51, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 55 Constant 0x1 Int32 56 GetFrameArgument ← Constant#55 Value 57 Goto → block 7 Block 6 58 Constant undefined Undefined 59 Goto → block 7 Block 7 60 Phi ← Constant#58, GetFrameArgument#56 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 DebugCheckSelfHosted ← Constant#61 Value 63 Constant undefined Undefined 64 Constant 0x1 Int32 65 HasShape ← Unbox#9 Bool 66 Test ← HasShape#65 → block 8, block 9 1 0 Block 8 67 Constant shape at 104289c64f00 Shape 68 NewArrayObject ← Constant#67 Object 69 Goto → block 10 Block 9 70 CallGetIntrinsicValue Value 71 DebugCheckSelfHosted ← CallGetIntrinsicValue#70 Value 72 Constant undefined Undefined 73 Constant 0x0 Int32 74 Bail 144 Unreachable Block 10 77 Phi ← NewArrayObject#68 Value 78 Constant 0x0 Int32 79 Constant 0x0 Int32 92 Goto → block 11 Block 11 (loop header) 80 Phi ← Constant#2, Constant#2 Value 81 Phi ← Constant#2, Constant#2 Value 82 Phi ← Parameter#0, Parameter#0 Value 83 Phi ← Parameter#1, Parameter#1 Value 84 Phi ← Unbox#9, Unbox#9 Value 85 Phi ← MinMax#18, MinMax#18 Value 86 Phi ← Phi#60, Phi#60 Value 87 Phi ← Phi#77, Phi#77 Value 88 Phi ← Constant#78, Add#141 Value 89 Phi ← Constant#79, Phi#137 Value 90 Phi ← Constant#2, Phi#138 Value 91 Phi ← Parameter#0, Parameter#0 Value 93 InterruptCheck 94 Unbox Phi#88 to Int32 (fallible) Int32 95 Unbox Phi#85 to Int32 (fallible) Int32 96 Compare ← Unbox#94, Unbox#95 Lt Bool 97 Test ← Compare#96 → block 12, block 18 1 0 Block 12 98 Unbox Phi#84 to Object (fallible) Object 99 Unbox Phi#88 to Int32 (fallible) Int32 100 GuardShape ← Unbox#98 Object 101 Elements ← GuardShape#100 Elements 102 InitializedLength ← Elements#101 Int32 103 BoundsCheck ← Unbox#99, InitializedLength#102 Int32 104 SpectreMaskIndex ← BoundsCheck#103, InitializedLength#102 Int32 105 GuardElementNotHole ← Elements#101, SpectreMaskIndex#104 106 Constant true Bool 107 Test ← Constant#106 → block 13, block 17 1 0 Block 13 108 Unbox Phi#84 to Object (fallible) Object 109 Unbox Phi#88 to Int32 (fallible) Int32 110 GuardShape ← Unbox#108 Object 111 Elements ← GuardShape#110 Elements 112 InitializedLength ← Elements#111 Int32 113 BoundsCheck ← Unbox#109, InitializedLength#112 Int32 114 SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112 Int32 115 GuardElementsArePacked ← Elements#111 116 LoadElement ← Elements#111, SpectreMaskIndex#114 Value 117 Constant 0x3 Int32 118 Unbox Phi#83 to Object (fallible) Object 119 GuardToFunction ← Unbox#118 Object 120 GuardFunctionScript ← GuardToFunction#119 Object 121 Goto → block 14 Block 14 122 Constant undefined Undefined 123 Constant 0x32 Int32 124 Unbox LoadElement#116 to Double (fallible) Double 125 Compare ← Unbox#124, Constant#123 Gt Bool 127 Goto → block 15 Block 15 128 Test ← Compare#125 → block 16, block 17 1 0 Block 16 129 Unbox Phi#89 to Int32 (fallible) Int32 130 Constant 0x1 Int32 131 Add ← Unbox#129, Constant#130 [int32] Int32 132 Unbox Phi#87 to Object (fallible) Object 133 GuardShape ← Unbox#132 Object 134 Elements ← GuardShape#133 Elements 135 StoreElementHole ← GuardShape#133, Elements#134, Unbox#129, LoadElement#116 136 Goto → block 17 Block 17 (backedge) 137 Phi ← Add#131, Phi#89, Phi#89 Value 138 Phi ← LoadElement#116, Phi#90, LoadElement#116 Value 139 Unbox Phi#88 to Int32 (fallible) Int32 140 Constant 0x1 Int32 141 Add ← Unbox#139, Constant#140 [int32] Int32 142 Goto → block 11 Block 18 143 Return ← Phi#87
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c28540 String 29 Bail 146 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 145 Unreachable Block 4 51 ArgumentsLength Int32 52 Constant 0x1 Int32 53 Compare ← ArgumentsLength#51, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 55 Constant 0x1 Int32 56 GetFrameArgument ← Constant#55 Value 57 Goto → block 7 Block 6 58 Constant undefined Undefined 59 Goto → block 7 Block 7 60 Phi ← Constant#58, GetFrameArgument#56 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 DebugCheckSelfHosted ← Constant#61 Value 63 Constant undefined Undefined 64 Constant 0x1 Int32 65 HasShape ← Unbox#9 Bool 66 Test ← HasShape#65 → block 8, block 9 1 0 Block 8 67 Constant shape at 104289c64f00 Shape 68 NewArrayObject ← Constant#67 Object 69 Goto → block 10 Block 9 70 CallGetIntrinsicValue Value 71 DebugCheckSelfHosted ← CallGetIntrinsicValue#70 Value 72 Constant undefined Undefined 73 Constant 0x0 Int32 74 Bail 144 Unreachable Block 10 77 Phi ← NewArrayObject#68 Value 78 Constant 0x0 Int32 79 Constant 0x0 Int32 92 Goto → block 11 Block 11 (loop header) 80 Phi ← Constant#2, Constant#2 Value 81 Phi ← Constant#2, Constant#2 Value 82 Phi ← Parameter#0, Parameter#0 Value 83 Phi ← Parameter#1, Parameter#1 Value 84 Phi ← Unbox#9, Unbox#9 Value 85 Phi ← MinMax#18, MinMax#18 Value 86 Phi ← Phi#60, Phi#60 Value 87 Phi ← Phi#77, Phi#77 Value 88 Phi ← Constant#78, Add#141 Value 89 Phi ← Constant#79, Phi#137 Value 90 Phi ← Constant#2, Phi#138 Value 91 Phi ← Parameter#0, Parameter#0 Value 93 InterruptCheck 94 Unbox Phi#88 to Int32 (fallible) Int32 95 Unbox Phi#85 to Int32 (fallible) Int32 96 Compare ← Unbox#94, Unbox#95 Lt Bool 97 Test ← Compare#96 → block 12, block 18 1 0 Block 12 98 Unbox Phi#84 to Object (fallible) Object 99 Unbox Phi#88 to Int32 (fallible) Int32 100 GuardShape ← Unbox#98 Object 101 Elements ← GuardShape#100 Elements 102 InitializedLength ← Elements#101 Int32 103 BoundsCheck ← Unbox#99, InitializedLength#102 Int32 104 SpectreMaskIndex ← BoundsCheck#103, InitializedLength#102 Int32 105 GuardElementNotHole ← Elements#101, SpectreMaskIndex#104 106 Constant true Bool 107 Test ← Constant#106 → block 13, block 19 1 0 Block 19 (split edge) 147 Goto → block 17 Block 13 108 Unbox Phi#84 to Object (fallible) Object 109 Unbox Phi#88 to Int32 (fallible) Int32 110 GuardShape ← Unbox#108 Object 111 Elements ← GuardShape#110 Elements 112 InitializedLength ← Elements#111 Int32 113 BoundsCheck ← Unbox#109, InitializedLength#112 Int32 114 SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112 Int32 115 GuardElementsArePacked ← Elements#111 116 LoadElement ← Elements#111, SpectreMaskIndex#114 Value 117 Constant 0x3 Int32 118 Unbox Phi#83 to Object (fallible) Object 119 GuardToFunction ← Unbox#118 Object 120 GuardFunctionScript ← GuardToFunction#119 Object 121 Goto → block 14 Block 14 122 Constant undefined Undefined 123 Constant 0x32 Int32 124 Unbox LoadElement#116 to Double (fallible) Double 125 Compare ← Unbox#124, Constant#123 Gt Bool 127 Goto → block 15 Block 15 128 Test ← Compare#125 → block 16, block 20 1 0 Block 20 (split edge) 148 Goto → block 17 Block 16 129 Unbox Phi#89 to Int32 (fallible) Int32 130 Constant 0x1 Int32 131 Add ← Unbox#129, Constant#130 [int32] Int32 132 Unbox Phi#87 to Object (fallible) Object 133 GuardShape ← Unbox#132 Object 134 Elements ← GuardShape#133 Elements 135 StoreElementHole ← GuardShape#133, Elements#134, Unbox#129, LoadElement#116 136 Goto → block 17 Block 17 (backedge) 137 Phi ← Add#131, Phi#89, Phi#89 Value 138 Phi ← LoadElement#116, Phi#90, LoadElement#116 Value 139 Unbox Phi#88 to Int32 (fallible) Int32 140 Constant 0x1 Int32 141 Add ← Unbox#139, Constant#140 [int32] Int32 142 Goto → block 11 Block 18 143 Return ← Phi#87
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c28540 String 29 Bail 146 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 145 Unreachable Block 4 51 ArgumentsLength Int32 52 Constant 0x1 Int32 53 Compare ← ArgumentsLength#51, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 55 Constant 0x1 Int32 56 GetFrameArgument ← Constant#55 Value 57 Goto → block 7 Block 6 58 Constant undefined Undefined 59 Goto → block 7 Block 7 60 Phi ← Constant#58, GetFrameArgument#56 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 DebugCheckSelfHosted ← Constant#61 Value 63 Constant undefined Undefined 64 Constant 0x1 Int32 65 HasShape ← Unbox#9 Bool 66 Test ← HasShape#65 → block 8, block 9 1 0 Block 8 67 Constant shape at 104289c64f00 Shape 68 NewArrayObject ← Constant#67 Object 69 Goto → block 10 Block 9 70 CallGetIntrinsicValue Value 71 DebugCheckSelfHosted ← CallGetIntrinsicValue#70 Value 72 Constant undefined Undefined 73 Constant 0x0 Int32 74 Bail 144 Unreachable Block 10 77 Phi ← NewArrayObject#68 Value 78 Constant 0x0 Int32 79 Constant 0x0 Int32 92 Goto → block 11 Block 11 (loop header) 80 Phi ← Constant#2, Constant#2 Value 81 Phi ← Constant#2, Constant#2 Value 82 Phi ← Parameter#0, Parameter#0 Value 83 Phi ← Parameter#1, Parameter#1 Value 84 Phi ← Unbox#9, Unbox#9 Value 85 Phi ← MinMax#18, MinMax#18 Value 86 Phi ← Phi#60, Phi#60 Value 87 Phi ← Phi#77, Phi#77 Value 88 Phi ← Constant#78, Add#141 Value 89 Phi ← Constant#79, Phi#137 Value 90 Phi ← Constant#2, Phi#138 Value 91 Phi ← Parameter#0, Parameter#0 Value 93 InterruptCheck 94 Unbox Phi#88 to Int32 (fallible) Int32 95 Unbox Phi#85 to Int32 (fallible) Int32 96 Compare ← Unbox#94, Unbox#95 Lt Bool 97 Test ← Compare#96 → block 12, block 20 1 0 Block 12 98 Unbox Phi#84 to Object (fallible) Object 99 Unbox Phi#88 to Int32 (fallible) Int32 100 GuardShape ← Unbox#98 Object 101 Elements ← GuardShape#100 Elements 102 InitializedLength ← Elements#101 Int32 103 BoundsCheck ← Unbox#99, InitializedLength#102 Int32 104 SpectreMaskIndex ← BoundsCheck#103, InitializedLength#102 Int32 105 GuardElementNotHole ← Elements#101, SpectreMaskIndex#104 106 Constant true Bool 107 Test ← Constant#106 → block 14, block 13 1 0 Block 13 (split edge) 147 Goto → block 19 Block 14 108 Unbox Phi#84 to Object (fallible) Object 109 Unbox Phi#88 to Int32 (fallible) Int32 110 GuardShape ← Unbox#108 Object 111 Elements ← GuardShape#110 Elements 112 InitializedLength ← Elements#111 Int32 113 BoundsCheck ← Unbox#109, InitializedLength#112 Int32 114 SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112 Int32 115 GuardElementsArePacked ← Elements#111 116 LoadElement ← Elements#111, SpectreMaskIndex#114 Value 117 Constant 0x3 Int32 118 Unbox Phi#83 to Object (fallible) Object 119 GuardToFunction ← Unbox#118 Object 120 GuardFunctionScript ← GuardToFunction#119 Object 121 Goto → block 15 Block 15 122 Constant undefined Undefined 123 Constant 0x32 Int32 124 Unbox LoadElement#116 to Double (fallible) Double 125 Compare ← Unbox#124, Constant#123 Gt Bool 127 Goto → block 16 Block 16 128 Test ← Compare#125 → block 18, block 17 1 0 Block 17 (split edge) 148 Goto → block 19 Block 18 129 Unbox Phi#89 to Int32 (fallible) Int32 130 Constant 0x1 Int32 131 Add ← Unbox#129, Constant#130 [int32] Int32 132 Unbox Phi#87 to Object (fallible) Object 133 GuardShape ← Unbox#132 Object 134 Elements ← GuardShape#133 Elements 135 StoreElementHole ← GuardShape#133, Elements#134, Unbox#129, LoadElement#116 136 Goto → block 19 Block 19 (backedge) 137 Phi ← Add#131, Phi#89, Phi#89 Value 138 Phi ← LoadElement#116, Phi#90, LoadElement#116 Value 139 Unbox Phi#88 to Int32 (fallible) Int32 140 Constant 0x1 Int32 141 Add ← Unbox#139, Constant#140 [int32] Int32 142 Goto → block 11 Block 20 143 Return ← Phi#87
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c28540 String 29 Bail 146 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 145 Unreachable Block 4 51 ArgumentsLength Int32 52 Constant 0x1 Int32 53 Compare ← ArgumentsLength#51, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 55 Constant 0x1 Int32 56 GetFrameArgument ← Constant#55 Value 57 Goto → block 7 Block 6 58 Constant undefined Undefined 59 Goto → block 7 Block 7 60 Phi ← Constant#58, GetFrameArgument#56 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 DebugCheckSelfHosted ← Constant#61 Value 63 Constant undefined Undefined 64 Constant 0x1 Int32 65 HasShape ← Unbox#9 Bool 66 Test ← HasShape#65 → block 8, block 9 1 0 Block 8 67 Constant shape at 104289c64f00 Shape 68 NewArrayObject ← Constant#67 Object 69 Goto → block 10 Block 9 70 CallGetIntrinsicValue Value 71 DebugCheckSelfHosted ← CallGetIntrinsicValue#70 Value 72 Constant undefined Undefined 73 Constant 0x0 Int32 74 Bail 144 Unreachable Block 10 78 Constant 0x0 Int32 79 Constant 0x0 Int32 92 Goto → block 11 Block 11 (loop header) 88 Phi ← Constant#78, Add#141 Value 89 Phi ← Constant#79, Phi#137 Value 149 Constant magic optimized-out MagicOptimizedOut 93 InterruptCheck 94 Unbox Phi#88 to Int32 (fallible) Int32 95 Unbox MinMax#18 to Int32 (fallible) Int32 96 Compare ← Unbox#94, Unbox#95 Lt Bool 97 Test ← Compare#96 → block 12, block 20 1 0 Block 12 154 Constant magic optimized-out MagicOptimizedOut 98 Unbox Unbox#9 to Object (fallible) Object 99 Unbox Phi#88 to Int32 (fallible) Int32 100 GuardShape ← Unbox#98 Object 101 Elements ← GuardShape#100 Elements 102 InitializedLength ← Elements#101 Int32 103 BoundsCheck ← Unbox#99, InitializedLength#102 Int32 104 SpectreMaskIndex ← BoundsCheck#103, InitializedLength#102 Int32 105 GuardElementNotHole ← Elements#101, SpectreMaskIndex#104 106 Constant true Bool 107 Test ← Constant#106 → block 14, block 13 1 0 Block 13 (split edge) 151 Constant magic optimized-out MagicOptimizedOut 147 Goto → block 19 Block 14 153 Constant magic optimized-out MagicOptimizedOut 108 Unbox Unbox#9 to Object (fallible) Object 109 Unbox Phi#88 to Int32 (fallible) Int32 110 GuardShape ← Unbox#108 Object 111 Elements ← GuardShape#110 Elements 112 InitializedLength ← Elements#111 Int32 113 BoundsCheck ← Unbox#109, InitializedLength#112 Int32 114 SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112 Int32 115 GuardElementsArePacked ← Elements#111 116 LoadElement ← Elements#111, SpectreMaskIndex#114 Value 117 Constant 0x3 Int32 118 Unbox Parameter#1 to Object (fallible) Object 119 GuardToFunction ← Unbox#118 Object 120 GuardFunctionScript ← GuardToFunction#119 Object 121 Goto → block 15 Block 15 122 Constant undefined Undefined 123 Constant 0x32 Int32 124 Unbox LoadElement#116 to Double (fallible) Double 125 Compare ← Unbox#124, Constant#123 Gt Bool 127 Goto → block 16 Block 16 128 Test ← Compare#125 → block 18, block 17 1 0 Block 17 (split edge) 148 Goto → block 19 Block 18 129 Unbox Phi#89 to Int32 (fallible) Int32 130 Constant 0x1 Int32 131 Add ← Unbox#129, Constant#130 [int32] Int32 132 Unbox NewArrayObject#68 to Object (fallible) Object 133 GuardShape ← Unbox#132 Object 134 Elements ← GuardShape#133 Elements 135 StoreElementHole ← GuardShape#133, Elements#134, Unbox#129, LoadElement#116 136 Goto → block 19 Block 19 (backedge) 137 Phi ← Add#131, Phi#89, Phi#89 Value 150 Constant magic optimized-out MagicOptimizedOut 139 Unbox Phi#88 to Int32 (fallible) Int32 140 Constant 0x1 Int32 141 Add ← Unbox#139, Constant#140 [int32] Int32 142 Goto → block 11 Block 20 152 Constant magic optimized-out MagicOptimizedOut 143 Return ← NewArrayObject#68
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c28540 String 29 Bail 146 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 145 Unreachable Block 4 51 ArgumentsLength Int32 52 Constant 0x1 Int32 53 Compare ← ArgumentsLength#51, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 55 Constant 0x1 Int32 56 GetFrameArgument ← Constant#55 Value 57 Goto → block 7 Block 6 58 Constant undefined Undefined 59 Goto → block 7 Block 7 60 Phi ← Constant#58, GetFrameArgument#56 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 DebugCheckSelfHosted ← Constant#61 Value 63 Constant undefined Undefined 64 Constant 0x1 Int32 65 HasShape ← Unbox#9 Bool 66 Test ← HasShape#65 → block 8, block 9 1 0 Block 8 67 Constant shape at 104289c64f00 Shape 68 NewArrayObject ← Constant#67 Object 69 Goto → block 10 Block 9 70 CallGetIntrinsicValue Value 71 DebugCheckSelfHosted ← CallGetIntrinsicValue#70 Value 72 Constant undefined Undefined 73 Constant 0x0 Int32 74 Bail 144 Unreachable Block 10 78 Constant 0x0 Int32 79 Constant 0x0 Int32 92 Goto → block 11 Block 11 (loop header) 88 Phi ← Constant#78, Add#141 Value 89 Phi ← Constant#79, Phi#137 Value 149 Constant magic optimized-out MagicOptimizedOut 93 InterruptCheck 94 Unbox Phi#88 to Int32 (fallible) Int32 95 Unbox MinMax#18 to Int32 (fallible) Int32 96 Compare ← Unbox#94, Unbox#95 Lt Bool 97 Test ← Compare#96 → block 12, block 20 1 0 Block 12 154 Constant magic optimized-out MagicOptimizedOut 98 Unbox Unbox#9 to Object (fallible) Object 99 Unbox Phi#88 to Int32 (fallible) Int32 100 GuardShape ← Unbox#98 Object 101 Elements ← GuardShape#100 Elements 102 InitializedLength ← Elements#101 Int32 103 BoundsCheck ← Unbox#99, InitializedLength#102 Int32 104 SpectreMaskIndex ← BoundsCheck#103, InitializedLength#102 Int32 105 GuardElementNotHole ← Elements#101, SpectreMaskIndex#104 106 Constant true Bool 107 Test ← Constant#106 → block 14, block 13 1 0 Block 13 (split edge) 151 Constant magic optimized-out MagicOptimizedOut 147 Goto → block 19 Block 14 153 Constant magic optimized-out MagicOptimizedOut 108 Unbox Unbox#9 to Object (fallible) Object 109 Unbox Phi#88 to Int32 (fallible) Int32 110 GuardShape ← Unbox#108 Object 111 Elements ← GuardShape#110 Elements 112 InitializedLength ← Elements#111 Int32 113 BoundsCheck ← Unbox#109, InitializedLength#112 Int32 114 SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112 Int32 115 GuardElementsArePacked ← Elements#111 116 LoadElement ← Elements#111, SpectreMaskIndex#114 Value 117 Constant 0x3 Int32 118 Unbox Parameter#1 to Object (fallible) Object 119 GuardToFunction ← Unbox#118 Object 120 GuardFunctionScript ← GuardToFunction#119 Object 121 Goto → block 15 Block 15 122 Constant undefined Undefined 123 Constant 0x32 Int32 124 Unbox LoadElement#116 to Double (fallible) Double 125 Compare ← Unbox#124, Constant#123 Gt Bool 127 Goto → block 16 Block 16 128 Test ← Compare#125 → block 18, block 17 1 0 Block 17 (split edge) 148 Goto → block 19 Block 18 129 Unbox Phi#89 to Int32 (fallible) Int32 130 Constant 0x1 Int32 131 Add ← Unbox#129, Constant#130 [int32] Int32 132 Unbox NewArrayObject#68 to Object (fallible) Object 133 GuardShape ← Unbox#132 Object 134 Elements ← GuardShape#133 Elements 135 StoreElementHole ← GuardShape#133, Elements#134, Unbox#129, LoadElement#116 136 Goto → block 19 Block 19 (backedge) 137 Phi ← Add#131, Phi#89, Phi#89 Value 150 Constant magic optimized-out MagicOptimizedOut 139 Unbox Phi#88 to Int32 (fallible) Int32 140 Constant 0x1 Int32 141 Add ← Unbox#139, Constant#140 [int32] Int32 142 Goto → block 11 Block 20 152 Constant magic optimized-out MagicOptimizedOut 143 Return ← NewArrayObject#68
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c28540 String 29 Bail 146 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 145 Unreachable Block 4 51 ArgumentsLength Int32 52 Constant 0x1 Int32 53 Compare ← ArgumentsLength#51, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 55 Constant 0x1 Int32 56 GetFrameArgument ← Constant#55 Value 57 Goto → block 7 Block 6 58 Constant undefined Undefined 59 Goto → block 7 Block 7 60 Phi ← Constant#58, GetFrameArgument#56 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 DebugCheckSelfHosted ← Constant#61 Value 63 Constant undefined Undefined 64 Constant 0x1 Int32 65 HasShape ← Unbox#9 Bool 66 Test ← HasShape#65 → block 8, block 9 1 0 Block 8 67 Constant shape at 104289c64f00 Shape 68 NewArrayObject ← Constant#67 Object 69 Goto → block 10 Block 9 70 CallGetIntrinsicValue Value 71 DebugCheckSelfHosted ← CallGetIntrinsicValue#70 Value 72 Constant undefined Undefined 73 Constant 0x0 Int32 74 Bail 144 Unreachable Block 10 78 Constant 0x0 Int32 79 Constant 0x0 Int32 92 Goto → block 11 Block 11 (loop header) 88 Phi ← Constant#78, Add#141 Value 89 Phi ← Constant#79, Phi#137 Value 149 Constant magic optimized-out MagicOptimizedOut 93 InterruptCheck 94 Unbox Phi#88 to Int32 (fallible) Int32 95 Unbox MinMax#18 to Int32 (fallible) Int32 96 Compare ← Unbox#94, Unbox#95 Lt Bool 97 Test ← Compare#96 → block 12, block 20 1 0 Block 12 154 Constant magic optimized-out MagicOptimizedOut 98 Unbox Unbox#9 to Object (fallible) Object 99 Unbox Phi#88 to Int32 (fallible) Int32 100 GuardShape ← Unbox#98 Object 101 Elements ← GuardShape#100 Elements 102 InitializedLength ← Elements#101 Int32 103 BoundsCheck ← Unbox#99, InitializedLength#102 Int32 104 SpectreMaskIndex ← BoundsCheck#103, InitializedLength#102 Int32 105 GuardElementNotHole ← Elements#101, SpectreMaskIndex#104 106 Constant true Bool 107 Test ← Constant#106 → block 14, block 13 1 0 Block 13 (split edge) 151 Constant magic optimized-out MagicOptimizedOut 147 Goto → block 19 Block 14 153 Constant magic optimized-out MagicOptimizedOut 108 Unbox Unbox#9 to Object (fallible) Object 109 Unbox Phi#88 to Int32 (fallible) Int32 110 GuardShape ← Unbox#108 Object 111 Elements ← GuardShape#110 Elements 112 InitializedLength ← Elements#111 Int32 113 BoundsCheck ← Unbox#109, InitializedLength#112 Int32 114 SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112 Int32 115 GuardElementsArePacked ← Elements#111 116 LoadElement ← Elements#111, SpectreMaskIndex#114 Value 117 Constant 0x3 Int32 118 Unbox Parameter#1 to Object (fallible) Object 119 GuardToFunction ← Unbox#118 Object 120 GuardFunctionScript ← GuardToFunction#119 Object 121 Goto → block 15 Block 15 122 Constant undefined Undefined 123 Constant 0x32 Int32 124 Unbox LoadElement#116 to Double (fallible) Double 125 Compare ← Unbox#124, Constant#123 Gt Bool 127 Goto → block 16 Block 16 128 Test ← Compare#125 → block 18, block 17 1 0 Block 17 (split edge) 148 Goto → block 19 Block 18 129 Unbox Phi#89 to Int32 (fallible) Int32 130 Constant 0x1 Int32 131 Add ← Unbox#129, Constant#130 [int32] Int32 132 Unbox NewArrayObject#68 to Object (fallible) Object 133 GuardShape ← Unbox#132 Object 134 Elements ← GuardShape#133 Elements 135 StoreElementHole ← GuardShape#133, Elements#134, Unbox#129, LoadElement#116 136 Goto → block 19 Block 19 (backedge) 137 Phi ← Add#131, Phi#89, Phi#89 Value 150 Constant magic optimized-out MagicOptimizedOut 139 Unbox Phi#88 to Int32 (fallible) Int32 140 Constant 0x1 Int32 141 Add ← Unbox#139, Constant#140 [int32] Int32 142 Goto → block 11 Block 20 152 Constant magic optimized-out MagicOptimizedOut 143 Return ← NewArrayObject#68
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 DebugCheckSelfHosted ← Constant#5 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 11 DebugCheckSelfHosted ← Constant#10 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c28540 String 29 Bail 146 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 33 DebugCheckSelfHosted ← Constant#32 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 145 Unreachable Block 4 51 ArgumentsLength Int32 52 Constant 0x1 Int32 53 Compare ← ArgumentsLength#51, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 55 Constant 0x1 Int32 56 GetFrameArgument ← Constant#55 Value 57 Goto → block 7 Block 6 58 Constant undefined Undefined 59 Goto → block 7 Block 7 60 Phi ← Constant#58, GetFrameArgument#56 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 DebugCheckSelfHosted ← Constant#61 Value 63 Constant undefined Undefined 64 Constant 0x1 Int32 65 HasShape ← Unbox#9 Bool 66 Test ← HasShape#65 → block 8, block 9 1 0 Block 8 67 Constant shape at 104289c64f00 Shape 68 NewArrayObject ← Constant#67 Object 69 Goto → block 10 Block 9 70 CallGetIntrinsicValue Value 71 DebugCheckSelfHosted ← CallGetIntrinsicValue#70 Value 72 Constant undefined Undefined 73 Constant 0x0 Int32 74 Bail 144 Unreachable Block 10 78 Constant 0x0 Int32 79 Constant 0x0 Int32 92 Goto → block 11 Block 11 (loop header) 88 Phi ← Constant#78, Add#141 Value 89 Phi ← Constant#79, Phi#137 Value 149 Constant magic optimized-out MagicOptimizedOut 93 InterruptCheck 94 Unbox Phi#88 to Int32 (fallible) Int32 95 Unbox MinMax#18 to Int32 (fallible) Int32 96 Compare ← Unbox#94, Unbox#95 Lt Bool 97 Test ← Compare#96 → block 12, block 20 1 0 Block 12 154 Constant magic optimized-out MagicOptimizedOut 98 Unbox Unbox#9 to Object (fallible) Object 99 Unbox Phi#88 to Int32 (fallible) Int32 100 GuardShape ← Unbox#98 Object 101 Elements ← GuardShape#100 Elements 102 InitializedLength ← Elements#101 Int32 103 BoundsCheck ← Unbox#99, InitializedLength#102 Int32 104 SpectreMaskIndex ← BoundsCheck#103, InitializedLength#102 Int32 105 GuardElementNotHole ← Elements#101, SpectreMaskIndex#104 106 Constant true Bool 107 Test ← Constant#106 → block 14, block 13 1 0 Block 13 (split edge) 151 Constant magic optimized-out MagicOptimizedOut 147 Goto → block 19 Block 14 153 Constant magic optimized-out MagicOptimizedOut 108 Unbox Unbox#9 to Object (fallible) Object 109 Unbox Phi#88 to Int32 (fallible) Int32 110 GuardShape ← Unbox#108 Object 111 Elements ← GuardShape#110 Elements 112 InitializedLength ← Elements#111 Int32 113 BoundsCheck ← Unbox#109, InitializedLength#112 Int32 114 SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112 Int32 115 GuardElementsArePacked ← Elements#111 116 LoadElement ← Elements#111, SpectreMaskIndex#114 Value 117 Constant 0x3 Int32 118 Unbox Parameter#1 to Object (fallible) Object 119 GuardToFunction ← Unbox#118 Object 120 GuardFunctionScript ← GuardToFunction#119 Object 121 Goto → block 15 Block 15 122 Constant undefined Undefined 123 Constant 0x32 Int32 124 Unbox LoadElement#116 to Double (fallible) Double 125 Compare ← Unbox#124, Constant#123 Gt Bool 127 Goto → block 16 Block 16 128 Test ← Compare#125 → block 18, block 17 1 0 Block 17 (split edge) 148 Goto → block 19 Block 18 129 Unbox Phi#89 to Int32 (fallible) Int32 130 Constant 0x1 Int32 131 Add ← Unbox#129, Constant#130 [int32] Int32 132 Unbox NewArrayObject#68 to Object (fallible) Object 133 GuardShape ← Unbox#132 Object 134 Elements ← GuardShape#133 Elements 135 StoreElementHole ← GuardShape#133, Elements#134, Unbox#129, LoadElement#116 136 Goto → block 19 Block 19 (backedge) 137 Phi ← Add#131, Phi#89, Phi#89 Value 150 Constant magic optimized-out MagicOptimizedOut 139 Unbox Phi#88 to Int32 (fallible) Int32 140 Constant 0x1 Int32 141 Add ← Unbox#139, Constant#140 [int32] Int32 142 Goto → block 11 Block 20 152 Constant magic optimized-out MagicOptimizedOut 143 Return ← NewArrayObject#68
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 155 Box ← Constant#5 Value 6 DebugCheckSelfHosted ← Box#155 Value 7 Constant undefined Undefined 8 Constant 0x1 Int32 9 Unbox Parameter#0 to Object (fallible) Object 10 Constant function ToLength at 104289c6c778 Object 156 Box ← Constant#10 Value 11 DebugCheckSelfHosted ← Box#156 Value 12 Constant undefined Undefined 13 GuardShape ← Unbox#9 Object 14 Elements ← GuardShape#13 Elements 15 ArrayLength ← Elements#14 Int32 16 Constant 0x1 Int32 17 Constant 0x0 Int32 18 MinMax ← ArrayLength#15, Constant#17 (max) Int32 19 ArgumentsLength Int32 20 Constant 0x0 Int32 21 Compare ← ArgumentsLength#19, Constant#20 StrictEq Bool 22 Test ← Compare#21 → block 1, block 2 1 0 Block 1 23 CallGetIntrinsicValue Value 24 DebugCheckSelfHosted ← CallGetIntrinsicValue#23 Value 25 Constant undefined Undefined 26 Constant 0x37 Int32 27 Constant 0x0 Int32 28 Constant string 104289c28540 String 29 Bail 146 Unreachable Block 2 32 Constant function IsCallable at 104289c6c7b0 Object 157 Box ← Constant#32 Value 33 DebugCheckSelfHosted ← Box#157 Value 34 Constant undefined Undefined 35 Constant 0x1 Int32 36 IsCallable ← Parameter#1 Bool 37 Test ← IsCallable#36 → block 4, block 3 1 0 Block 3 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0xc Int32 42 CallGetIntrinsicValue Value 43 DebugCheckSelfHosted ← CallGetIntrinsicValue#42 Value 44 Constant undefined Undefined 45 Constant 0x0 Int32 46 Bail 145 Unreachable Block 4 51 ArgumentsLength Int32 52 Constant 0x1 Int32 53 Compare ← ArgumentsLength#51, Constant#52 Gt Bool 54 Test ← Compare#53 → block 5, block 6 1 0 Block 5 55 Constant 0x1 Int32 56 GetFrameArgument ← Constant#55 Value 57 Goto → block 7 Block 6 58 Constant undefined Undefined 158 Box ← Constant#58 Value 59 Goto → block 7 Block 7 60 Phi ← Box#158, GetFrameArgument#56 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 159 Box ← Constant#61 Value 62 DebugCheckSelfHosted ← Box#159 Value 63 Constant undefined Undefined 64 Constant 0x1 Int32 65 HasShape ← Unbox#9 Bool 66 Test ← HasShape#65 → block 8, block 9 1 0 Block 8 67 Constant shape at 104289c64f00 Shape 68 NewArrayObject ← Constant#67 Object 69 Goto → block 10 Block 9 70 CallGetIntrinsicValue Value 71 DebugCheckSelfHosted ← CallGetIntrinsicValue#70 Value 72 Constant undefined Undefined 73 Constant 0x0 Int32 74 Bail 144 Unreachable Block 10 78 Constant 0x0 Int32 79 Constant 0x0 Int32 92 Goto → block 11 Block 11 (loop header) 88 Phi ← Constant#78, Add#141 Int32 89 Phi ← Constant#79, Phi#137 Int32 149 Constant magic optimized-out MagicOptimizedOut 93 InterruptCheck 160 Box ← Phi#88 Value 94 Unbox Box#160 to Int32 (fallible) Int32 161 Box ← MinMax#18 Value 95 Unbox Box#161 to Int32 (fallible) Int32 96 Compare ← Unbox#94, Unbox#95 Lt Bool 97 Test ← Compare#96 → block 12, block 20 1 0 Block 12 154 Constant magic optimized-out MagicOptimizedOut 162 Box ← Unbox#9 Value 98 Unbox Box#162 to Object (fallible) Object 163 Box ← Phi#88 Value 99 Unbox Box#163 to Int32 (fallible) Int32 100 GuardShape ← Unbox#98 Object 101 Elements ← GuardShape#100 Elements 102 InitializedLength ← Elements#101 Int32 103 BoundsCheck ← Unbox#99, InitializedLength#102 Int32 104 SpectreMaskIndex ← BoundsCheck#103, InitializedLength#102 Int32 105 GuardElementNotHole ← Elements#101, SpectreMaskIndex#104 106 Constant true Bool 107 Test ← Constant#106 → block 14, block 13 1 0 Block 13 (split edge) 151 Constant magic optimized-out MagicOptimizedOut 147 Goto → block 19 Block 14 153 Constant magic optimized-out MagicOptimizedOut 164 Box ← Unbox#9 Value 108 Unbox Box#164 to Object (fallible) Object 165 Box ← Phi#88 Value 109 Unbox Box#165 to Int32 (fallible) Int32 110 GuardShape ← Unbox#108 Object 111 Elements ← GuardShape#110 Elements 112 InitializedLength ← Elements#111 Int32 113 BoundsCheck ← Unbox#109, InitializedLength#112 Int32 114 SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112 Int32 115 GuardElementsArePacked ← Elements#111 116 LoadElement ← Elements#111, SpectreMaskIndex#114 Value 117 Constant 0x3 Int32 118 Unbox Parameter#1 to Object (fallible) Object 119 GuardToFunction ← Unbox#118 Object 120 GuardFunctionScript ← GuardToFunction#119 Object 121 Goto → block 15 Block 15 122 Constant undefined Undefined 123 Constant 0x32 Int32 124 Unbox LoadElement#116 to Double (fallible) Double 166 ToDouble ← Constant#123 Double 125 Compare ← Unbox#124, ToDouble#166 Gt Bool 127 Goto → block 16 Block 16 128 Test ← Compare#125 → block 18, block 17 1 0 Block 17 (split edge) 148 Goto → block 19 Block 18 167 Box ← Phi#89 Value 129 Unbox Box#167 to Int32 (fallible) Int32 130 Constant 0x1 Int32 131 Add ← Unbox#129, Constant#130 [int32] Int32 168 Box ← NewArrayObject#68 Value 132 Unbox Box#168 to Object (fallible) Object 133 GuardShape ← Unbox#132 Object 134 Elements ← GuardShape#133 Elements 135 StoreElementHole ← GuardShape#133, Elements#134, Unbox#129, LoadElement#116 136 Goto → block 19 Block 19 (backedge) 137 Phi ← Add#131, Phi#89, Phi#89 Int32 150 Constant magic optimized-out MagicOptimizedOut 169 Box ← Phi#88 Value 139 Unbox Box#169 to Int32 (fallible) Int32 140 Constant 0x1 Int32 141 Add ← Unbox#139, Constant#140 [int32] Int32 142 Goto → block 11 Block 20 152 Constant magic optimized-out MagicOptimizedOut 170 Box ← NewArrayObject#68 Value 143 Return ← Box#170
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Constant undefined Undefined 9 Constant 0x1 Int32 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 14 Constant undefined Undefined 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 Int32 18 Constant 0x1 Int32 19 Constant 0x0 Int32 20 MinMax ← ArrayLength#17, Constant#19 (max) Int32 21 ArgumentsLength Int32 22 Constant 0x0 Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 27 Constant undefined Undefined 28 Constant 0x37 Int32 29 Constant 0x0 Int32 30 Constant string 104289c28540 String 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 36 Constant undefined Undefined 37 Constant 0x1 Int32 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 42 Constant undefined Undefined 43 Constant 0xc Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 46 Constant undefined Undefined 47 Constant 0x0 Int32 48 Bail 49 Unreachable Block 4 50 ArgumentsLength Int32 51 Constant 0x1 Int32 52 Compare ← ArgumentsLength#50, Constant#51 Gt Bool 53 Test ← Compare#52 → block 5, block 6 1 0 Block 5 54 Constant 0x1 Int32 55 GetFrameArgument ← Constant#54 Value 56 Goto → block 7 Block 6 57 Constant undefined Undefined 58 Box ← Constant#57 Value 59 Goto → block 7 Block 7 60 Phi ← Box#58, GetFrameArgument#55 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 Box ← Constant#61 Value 63 DebugCheckSelfHosted ← Box#62 Value 64 Constant undefined Undefined 65 Constant 0x1 Int32 66 HasShape ← Unbox#10 Bool 67 Test ← HasShape#66 → block 8, block 9 1 0 Block 8 68 Constant shape at 104289c64f00 Shape 69 NewArrayObject ← Constant#68 Object 70 Goto → block 10 Block 9 71 CallGetIntrinsicValue Value 72 DebugCheckSelfHosted ← CallGetIntrinsicValue#71 Value 73 Constant undefined Undefined 74 Constant 0x0 Int32 75 Bail 76 Unreachable Block 10 77 Constant 0x0 Int32 78 Constant 0x0 Int32 79 Goto → block 11 Block 11 (loop header) 80 Phi ← Constant#77, Add#145 Int32 81 Phi ← Constant#78, Phi#140 Int32 82 Constant magic optimized-out MagicOptimizedOut 83 InterruptCheck 84 Box ← Phi#80 Value 85 Unbox Box#84 to Int32 (fallible) Int32 86 Box ← MinMax#20 Value 87 Unbox Box#86 to Int32 (fallible) Int32 88 Compare ← Unbox#85, Unbox#87 Lt Bool 89 Test ← Compare#88 → block 12, block 20 1 0 Block 12 90 Constant magic optimized-out MagicOptimizedOut 91 Box ← Unbox#10 Value 92 Unbox Box#91 to Object (fallible) Object 93 Box ← Phi#80 Value 94 Unbox Box#93 to Int32 (fallible) Int32 95 GuardShape ← Unbox#92 Object 96 Elements ← GuardShape#95 Elements 97 InitializedLength ← Elements#96 Int32 98 BoundsCheck ← Unbox#94, InitializedLength#97 Int32 99 SpectreMaskIndex ← BoundsCheck#98, InitializedLength#97 Int32 100 GuardElementNotHole ← Elements#96, SpectreMaskIndex#99 101 Constant true Bool 102 Test ← Constant#101 → block 14, block 13 1 0 Block 13 (split edge) 103 Constant magic optimized-out MagicOptimizedOut 104 Goto → block 19 Block 14 105 Constant magic optimized-out MagicOptimizedOut 106 Box ← Unbox#10 Value 107 Unbox Box#106 to Object (fallible) Object 108 Box ← Phi#80 Value 109 Unbox Box#108 to Int32 (fallible) Int32 110 GuardShape ← Unbox#107 Object 111 Elements ← GuardShape#110 Elements 112 InitializedLength ← Elements#111 Int32 113 BoundsCheck ← Unbox#109, InitializedLength#112 Int32 114 SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112 Int32 115 GuardElementsArePacked ← Elements#111 116 LoadElement ← Elements#111, SpectreMaskIndex#114 Value 117 Constant 0x3 Int32 118 Unbox Parameter#1 to Object (fallible) Object 119 GuardToFunction ← Unbox#118 Object 120 GuardFunctionScript ← GuardToFunction#119 Object 121 Goto → block 15 Block 15 122 Constant undefined Undefined 123 Constant 0x32 Int32 124 Unbox LoadElement#116 to Double (fallible) Double 125 ToDouble ← Constant#123 Double 126 Compare ← Unbox#124, ToDouble#125 Gt Bool 127 Goto → block 16 Block 16 128 Test ← Compare#126 → block 18, block 17 1 0 Block 17 (split edge) 129 Goto → block 19 Block 18 130 Box ← Phi#81 Value 131 Unbox Box#130 to Int32 (fallible) Int32 132 Constant 0x1 Int32 133 Add ← Unbox#131, Constant#132 [int32] Int32 134 Box ← NewArrayObject#69 Value 135 Unbox Box#134 to Object (fallible) Object 136 GuardShape ← Unbox#135 Object 137 Elements ← GuardShape#136 Elements 138 StoreElementHole ← GuardShape#136, Elements#137, Unbox#131, LoadElement#116 139 Goto → block 19 Block 19 (backedge) 140 Phi ← Add#133, Phi#81, Phi#81 Int32 141 Constant magic optimized-out MagicOptimizedOut 142 Box ← Phi#80 Value 143 Unbox Box#142 to Int32 (fallible) Int32 144 Constant 0x1 Int32 145 Add ← Unbox#143, Constant#144 [int32] Int32 146 Goto → block 11 Block 20 147 Constant magic optimized-out MagicOptimizedOut 148 Box ← NewArrayObject#69 Value 149 Return ← Box#148
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Constant undefined Undefined 9 Constant 0x1 Int32 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 14 Constant undefined Undefined 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 Int32 18 Constant 0x1 Int32 19 Constant 0x0 Int32 20 MinMax ← ArrayLength#17, Constant#19 (max) Int32 21 ArgumentsLength Int32 22 Constant 0x0 Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 27 Constant undefined Undefined 28 Constant 0x37 Int32 29 Constant 0x0 Int32 30 Constant string 104289c28540 String 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 36 Constant undefined Undefined 37 Constant 0x1 Int32 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 42 Constant undefined Undefined 43 Constant 0xc Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 46 Constant undefined Undefined 47 Constant 0x0 Int32 48 Bail 49 Unreachable Block 4 50 ArgumentsLength Int32 51 Constant 0x1 Int32 52 Compare ← ArgumentsLength#50, Constant#51 Gt Bool 53 Test ← Compare#52 → block 5, block 6 1 0 Block 5 54 Constant 0x1 Int32 55 GetFrameArgument ← Constant#54 Value 56 Goto → block 7 Block 6 57 Constant undefined Undefined 58 Box ← Constant#57 Value 59 Goto → block 7 Block 7 60 Phi ← Box#58, GetFrameArgument#55 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 Box ← Constant#61 Value 63 DebugCheckSelfHosted ← Box#62 Value 64 Constant undefined Undefined 65 Constant 0x1 Int32 66 HasShape ← Unbox#10 Bool 67 Test ← HasShape#66 → block 8, block 9 1 0 Block 8 68 Constant shape at 104289c64f00 Shape 69 NewArrayObject ← Constant#68 Object 70 Goto → block 10 Block 9 71 CallGetIntrinsicValue Value 72 DebugCheckSelfHosted ← CallGetIntrinsicValue#71 Value 73 Constant undefined Undefined 74 Constant 0x0 Int32 75 Bail 76 Unreachable Block 10 77 Constant 0x0 Int32 78 Constant 0x0 Int32 79 Goto → block 11 Block 11 (loop header) 80 Phi ← Constant#77, Add#145 Int32 81 Phi ← Constant#78, Phi#140 Int32 82 Constant magic optimized-out MagicOptimizedOut 83 InterruptCheck 84 Box ← Phi#80 Value 85 Unbox Box#84 to Int32 (fallible) Int32 86 Box ← MinMax#20 Value 87 Unbox Box#86 to Int32 (fallible) Int32 88 Compare ← Unbox#85, Unbox#87 Lt Bool 89 Test ← Compare#88 → block 12, block 20 1 0 Block 12 90 Constant magic optimized-out MagicOptimizedOut 91 Box ← Unbox#10 Value 92 Unbox Box#91 to Object (fallible) Object 93 Box ← Phi#80 Value 94 Unbox Box#93 to Int32 (fallible) Int32 95 GuardShape ← Unbox#92 Object 96 Elements ← GuardShape#95 Elements 97 InitializedLength ← Elements#96 Int32 98 BoundsCheck ← Unbox#94, InitializedLength#97 Int32 99 SpectreMaskIndex ← BoundsCheck#98, InitializedLength#97 Int32 100 GuardElementNotHole ← Elements#96, SpectreMaskIndex#99 101 Constant true Bool 102 Test ← Constant#101 → block 14, block 13 1 0 Block 13 (split edge) 103 Constant magic optimized-out MagicOptimizedOut 104 Goto → block 19 Block 14 105 Constant magic optimized-out MagicOptimizedOut 106 Box ← Unbox#10 Value 107 Unbox Box#106 to Object (fallible) Object 108 Box ← Phi#80 Value 109 Unbox Box#108 to Int32 (fallible) Int32 110 GuardShape ← Unbox#107 Object 111 Elements ← GuardShape#110 Elements 112 InitializedLength ← Elements#111 Int32 113 BoundsCheck ← Unbox#109, InitializedLength#112 Int32 114 SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112 Int32 115 GuardElementsArePacked ← Elements#111 116 LoadElement ← Elements#111, SpectreMaskIndex#114 Value 117 Constant 0x3 Int32 118 Unbox Parameter#1 to Object (fallible) Object 119 GuardToFunction ← Unbox#118 Object 120 GuardFunctionScript ← GuardToFunction#119 Object 121 Goto → block 15 Block 15 122 Constant undefined Undefined 123 Constant 0x32 Int32 124 Unbox LoadElement#116 to Double (fallible) Double 125 ToDouble ← Constant#123 Double 126 Compare ← Unbox#124, ToDouble#125 Gt Bool 127 Goto → block 16 Block 16 128 Test ← Compare#126 → block 18, block 17 1 0 Block 17 (split edge) 129 Goto → block 19 Block 18 130 Box ← Phi#81 Value 131 Unbox Box#130 to Int32 (fallible) Int32 132 Constant 0x1 Int32 133 Add ← Unbox#131, Constant#132 [int32] Int32 134 Box ← NewArrayObject#69 Value 135 Unbox Box#134 to Object (fallible) Object 136 GuardShape ← Unbox#135 Object 137 Elements ← GuardShape#136 Elements 138 StoreElementHole ← GuardShape#136, Elements#137, Unbox#131, LoadElement#116 139 Goto → block 19 Block 19 (backedge) 140 Phi ← Add#133, Phi#81, Phi#81 Int32 141 Constant magic optimized-out MagicOptimizedOut 142 Box ← Phi#80 Value 143 Unbox Box#142 to Int32 (fallible) Int32 144 Constant 0x1 Int32 145 Add ← Unbox#143, Constant#144 [int32] Int32 146 Goto → block 11 Block 20 147 Constant magic optimized-out MagicOptimizedOut 148 Box ← NewArrayObject#69 Value 149 Return ← Box#148
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 Int32 21 ArgumentsLength Int32 22 Constant 0x0 Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 51 Constant 0x1 Int32 52 Compare ← ArgumentsLength#21, Constant#51 Gt Bool 53 Test ← Compare#52 → block 5, block 6 1 0 Block 5 55 GetFrameArgument ← Constant#51 Value 56 Goto → block 7 Block 6 58 Box ← Constant#2 Value 59 Goto → block 7 Block 7 60 Phi ← Box#58, GetFrameArgument#55 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 Box ← Constant#61 Value 63 DebugCheckSelfHosted ← Box#62 Value 66 HasShape ← Unbox#10 Bool 67 Test ← HasShape#66 → block 8, block 9 1 0 Block 8 68 Constant shape at 104289c64f00 Shape 69 NewArrayObject ← Constant#68 Object 70 Goto → block 10 Block 9 71 CallGetIntrinsicValue Value 72 DebugCheckSelfHosted ← CallGetIntrinsicValue#71 Value 75 Bail 76 Unreachable Block 10 79 Goto → block 11 Block 11 (loop header) 80 Phi ← Constant#22, Add#145 Int32 81 Phi ← Constant#22, Phi#140 Int32 82 Constant magic optimized-out MagicOptimizedOut 83 InterruptCheck 88 Compare ← Phi#80, ArrayLength#17 Lt Bool 89 Test ← Compare#88 → block 12, block 19 1 0 Block 12 95 GuardShape ← Unbox#10 Object 96 Elements ← GuardShape#95 Elements 97 InitializedLength ← Elements#96 Int32 98 BoundsCheck ← Phi#80, InitializedLength#97 Int32 99 SpectreMaskIndex ← BoundsCheck#98, InitializedLength#97 Int32 100 GuardElementNotHole ← Elements#96, SpectreMaskIndex#99 171 Goto → block 13 Block 13 115 GuardElementsArePacked ← Elements#96 116 LoadElement ← Elements#96, SpectreMaskIndex#99 Value 118 Unbox Parameter#1 to Object (fallible) Object 119 GuardToFunction ← Unbox#118 Object 120 GuardFunctionScript ← GuardToFunction#119 Object 121 Goto → block 14 Block 14 124 Unbox LoadElement#116 to Double (fallible) Double 172 Constant 50 Double 126 Compare ← Unbox#124, Constant#172 Gt Bool 127 Goto → block 15 Block 15 128 Test ← Compare#126 → block 17, block 16 1 0 Block 16 (split edge) 129 Goto → block 18 Block 17 133 Add ← Phi#81, Constant#51 [int32] Int32 136 GuardShape ← NewArrayObject#69 Object 137 Elements ← GuardShape#136 Elements 138 StoreElementHole ← GuardShape#136, Elements#137, Phi#81, LoadElement#116 139 Goto → block 18 Block 18 (backedge) 140 Phi ← Add#133, Phi#81 Int32 145 Add ← Phi#80, Constant#51 [int32] Int32 146 Goto → block 11 Block 19 148 Box ← NewArrayObject#69 Value 149 Return ← Box#148
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 Int32 21 ArgumentsLength Int32 22 Constant 0x0 Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 51 Constant 0x1 Int32 52 Compare ← ArgumentsLength#21, Constant#51 Gt Bool 53 Test ← Compare#52 → block 5, block 6 1 0 Block 5 55 GetFrameArgument ← Constant#51 Value 56 Goto → block 7 Block 6 58 Box ← Constant#2 Value 59 Goto → block 7 Block 7 60 Phi ← Box#58, GetFrameArgument#55 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 Box ← Constant#61 Value 63 DebugCheckSelfHosted ← Box#62 Value 66 HasShape ← Unbox#10 Bool 67 Test ← HasShape#66 → block 8, block 9 1 0 Block 8 68 Constant shape at 104289c64f00 Shape 69 NewArrayObject ← Constant#68 Object 70 Goto → block 10 Block 9 71 CallGetIntrinsicValue Value 72 DebugCheckSelfHosted ← CallGetIntrinsicValue#71 Value 75 Bail 76 Unreachable Block 10 95 GuardShape ← Unbox#10 Object 118 Unbox Parameter#1 to Object (fallible) Object 119 GuardToFunction ← Unbox#118 Object 120 GuardFunctionScript ← GuardToFunction#119 Object 172 Constant 50 Double 136 GuardShape ← NewArrayObject#69 Object 79 Goto → block 11 Block 11 (loop header) 80 Phi ← Constant#22, Add#145 Int32 81 Phi ← Constant#22, Phi#140 Int32 82 Constant magic optimized-out MagicOptimizedOut 83 InterruptCheck 88 Compare ← Phi#80, ArrayLength#17 Lt Bool 89 Test ← Compare#88 → block 12, block 19 1 0 Block 12 96 Elements ← GuardShape#95 Elements 97 InitializedLength ← Elements#96 Int32 98 BoundsCheck ← Phi#80, InitializedLength#97 Int32 99 SpectreMaskIndex ← BoundsCheck#98, InitializedLength#97 Int32 100 GuardElementNotHole ← Elements#96, SpectreMaskIndex#99 171 Goto → block 13 Block 13 115 GuardElementsArePacked ← Elements#96 116 LoadElement ← Elements#96, SpectreMaskIndex#99 Value 121 Goto → block 14 Block 14 124 Unbox LoadElement#116 to Double (fallible) Double 126 Compare ← Unbox#124, Constant#172 Gt Bool 127 Goto → block 15 Block 15 128 Test ← Compare#126 → block 17, block 16 1 0 Block 16 (split edge) 129 Goto → block 18 Block 17 133 Add ← Phi#81, Constant#51 [int32] Int32 137 Elements ← GuardShape#136 Elements 138 StoreElementHole ← GuardShape#136, Elements#137, Phi#81, LoadElement#116 139 Goto → block 18 Block 18 (backedge) 140 Phi ← Add#133, Phi#81 Int32 145 Add ← Phi#80, Constant#51 [int32] Int32 146 Goto → block 11 Block 19 148 Box ← NewArrayObject#69 Value 149 Return ← Box#148
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 Int32 21 ArgumentsLength Int32 22 Constant 0x0 Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 180 Beta ← ArgumentsLength#21 I[0, 0] Int32 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 179 Beta ← ArgumentsLength#21 F[?, ?] (U NaN U -Infinity U Infinity) Int32 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 51 Constant 0x1 Int32 52 Compare ← Beta#179, Constant#51 Gt Bool 53 Test ← Compare#52 → block 5, block 6 1 0 Block 5 178 Beta ← Beta#179 F[2, ?] (U Infinity) Int32 55 GetFrameArgument ← Constant#51 Value 56 Goto → block 7 Block 6 177 Beta ← Beta#179 F[?, 1] (U NaN U -Infinity U -0) Int32 58 Box ← Constant#2 Value 59 Goto → block 7 Block 7 60 Phi ← Box#58, GetFrameArgument#55 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 Box ← Constant#61 Value 63 DebugCheckSelfHosted ← Box#62 Value 66 HasShape ← Unbox#10 Bool 67 Test ← HasShape#66 → block 8, block 9 1 0 Block 8 68 Constant shape at 104289c64f00 Shape 69 NewArrayObject ← Constant#68 Object 70 Goto → block 10 Block 9 71 CallGetIntrinsicValue Value 72 DebugCheckSelfHosted ← CallGetIntrinsicValue#71 Value 75 Bail 76 Unreachable Block 10 95 GuardShape ← Unbox#10 Object 118 Unbox Parameter#1 to Object (fallible) Object 119 GuardToFunction ← Unbox#118 Object 120 GuardFunctionScript ← GuardToFunction#119 Object 172 Constant 50 Double 136 GuardShape ← NewArrayObject#69 Object 79 Goto → block 11 Block 11 (loop header) 80 Phi ← Constant#22, Add#145 Int32 81 Phi ← Constant#22, Phi#140 Int32 82 Constant magic optimized-out MagicOptimizedOut 83 InterruptCheck 88 Compare ← Phi#80, ArrayLength#17 Lt Bool 89 Test ← Compare#88 → block 12, block 19 1 0 Block 12 176 Beta ← ArrayLength#17 I[-2147483647, 2147483647] Int32 175 Beta ← Phi#80 I[-2147483648, 2147483646] Int32 96 Elements ← GuardShape#95 Elements 97 InitializedLength ← Elements#96 Int32 98 BoundsCheck ← Beta#175, InitializedLength#97 Int32 99 SpectreMaskIndex ← BoundsCheck#98, InitializedLength#97 Int32 100 GuardElementNotHole ← Elements#96, SpectreMaskIndex#99 171 Goto → block 13 Block 13 115 GuardElementsArePacked ← Elements#96 116 LoadElement ← Elements#96, SpectreMaskIndex#99 Value 121 Goto → block 14 Block 14 124 Unbox LoadElement#116 to Double (fallible) Double 126 Compare ← Unbox#124, Constant#172 Gt Bool 127 Goto → block 15 Block 15 128 Test ← Compare#126 → block 17, block 16 1 0 Block 16 (split edge) 174 Beta ← Unbox#124 F[?, 50] (U NaN U -Infinity U -0) Double 129 Goto → block 18 Block 17 173 Beta ← Unbox#124 F[50, ?] (U Infinity) Double 133 Add ← Phi#81, Constant#51 [int32] Int32 137 Elements ← GuardShape#136 Elements 138 StoreElementHole ← GuardShape#136, Elements#137, Phi#81, LoadElement#116 139 Goto → block 18 Block 18 (backedge) 140 Phi ← Add#133, Phi#81 Int32 145 Add ← Beta#175, Constant#51 [int32] Int32 146 Goto → block 11 Block 19 148 Box ← NewArrayObject#69 Value 149 Return ← Box#148
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 I[0, 2147483647]: Int32 21 ArgumentsLength I[0, 500000]: Int32 22 Constant 0x0 I[0, 0]: Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 180 Beta ← ArgumentsLength#21 I[0, 0] I[0, 0]: Int32 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 179 Beta ← ArgumentsLength#21 F[?, ?] (U NaN U -Infinity U Infinity) I[0, 500000]: Int32 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc I[12, 12]: Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 51 Constant 0x1 I[1, 1]: Int32 52 Compare ← Beta#179, Constant#51 Gt Bool 53 Test ← Compare#52 → block 5, block 6 1 0 Block 5 178 Beta ← Beta#179 F[2, ?] (U Infinity) I[2, 500000]: Int32 55 GetFrameArgument ← Constant#51 Value 56 Goto → block 7 Block 6 177 Beta ← Beta#179 F[?, 1] (U NaN U -Infinity U -0) I[0, 1] (U -0): Int32 58 Box ← Constant#2 Value 59 Goto → block 7 Block 7 60 Phi ← Box#58, GetFrameArgument#55 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 Box ← Constant#61 Value 63 DebugCheckSelfHosted ← Box#62 Value 66 HasShape ← Unbox#10 Bool 67 Test ← HasShape#66 → block 8, block 9 1 0 Block 8 68 Constant shape at 104289c64f00 Shape 69 NewArrayObject ← Constant#68 Object 70 Goto → block 10 Block 9 71 CallGetIntrinsicValue Value 72 DebugCheckSelfHosted ← CallGetIntrinsicValue#71 Value 75 Bail 76 Unreachable Block 10 95 GuardShape ← Unbox#10 Object 118 Unbox Parameter#1 to Object (fallible) Object 119 GuardToFunction ← Unbox#118 Object 120 GuardFunctionScript ← GuardToFunction#119 Object 172 Constant 50 I[50, 50]: Double 136 GuardShape ← NewArrayObject#69 Object 79 Goto → block 11 Block 11 (loop header) 80 Phi ← Constant#22, Add#145 I[0 {}, 2147483647 {[loop] #17-1}]: Int32 81 Phi ← Constant#22, Phi#140 Int32 82 Constant magic optimized-out MagicOptimizedOut 83 InterruptCheck 88 Compare ← Phi#80, ArrayLength#17 Lt Bool 89 Test ← Compare#88 → block 12, block 19 1 0 Block 12 176 Beta ← ArrayLength#17 I[-2147483647, 2147483647] I[0, 2147483647]: Int32 175 Beta ← Phi#80 I[-2147483648, 2147483646] I[0, 2147483646]: Int32 96 Elements ← GuardShape#95 Elements 97 InitializedLength ← Elements#96 I[0, 268435453]: Int32 98 BoundsCheck ← Beta#175, InitializedLength#97 I[0, 2147483646]: Int32 99 SpectreMaskIndex ← BoundsCheck#98, InitializedLength#97 I[0, 2147483646]: Int32 100 GuardElementNotHole ← Elements#96, SpectreMaskIndex#99 171 Goto → block 13 Block 13 115 GuardElementsArePacked ← Elements#96 116 LoadElement ← Elements#96, SpectreMaskIndex#99 Value 121 Goto → block 14 Block 14 124 Unbox LoadElement#116 to Double (fallible) Double 126 Compare ← Unbox#124, Constant#172 Gt Bool 127 Goto → block 15 Block 15 128 Test ← Compare#126 → block 17, block 16 1 0 Block 16 (split edge) 174 Beta ← Unbox#124 F[?, 50] (U NaN U -Infinity U -0) F[?, 50] (U NaN U -Infinity U -0): Double 129 Goto → block 18 Block 17 173 Beta ← Unbox#124 F[50, ?] (U Infinity) F[50, ?] (U Infinity): Double 133 Add ← Phi#81, Constant#51 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 137 Elements ← GuardShape#136 Elements 138 StoreElementHole ← GuardShape#136, Elements#137, Phi#81, LoadElement#116 139 Goto → block 18 Block 18 (backedge) 140 Phi ← Add#133, Phi#81 Int32 145 Add ← Beta#175, Constant#51 [int32] I[1, 2147483647]: Int32 146 Goto → block 11 Block 19 148 Box ← NewArrayObject#69 Value 149 Return ← Box#148
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 I[0, 2147483647]: Int32 21 ArgumentsLength I[0, 500000]: Int32 22 Constant 0x0 I[0, 0]: Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc I[12, 12]: Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 51 Constant 0x1 I[1, 1]: Int32 52 Compare ← ArgumentsLength#21, Constant#51 Gt Bool 53 Test ← Compare#52 → block 5, block 6 1 0 Block 5 55 GetFrameArgument ← Constant#51 Value 56 Goto → block 7 Block 6 58 Box ← Constant#2 Value 59 Goto → block 7 Block 7 60 Phi ← Box#58, GetFrameArgument#55 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 Box ← Constant#61 Value 63 DebugCheckSelfHosted ← Box#62 Value 66 HasShape ← Unbox#10 Bool 67 Test ← HasShape#66 → block 8, block 9 1 0 Block 8 68 Constant shape at 104289c64f00 Shape 69 NewArrayObject ← Constant#68 Object 70 Goto → block 10 Block 9 71 CallGetIntrinsicValue Value 72 DebugCheckSelfHosted ← CallGetIntrinsicValue#71 Value 75 Bail 76 Unreachable Block 10 95 GuardShape ← Unbox#10 Object 118 Unbox Parameter#1 to Object (fallible) Object 119 GuardToFunction ← Unbox#118 Object 120 GuardFunctionScript ← GuardToFunction#119 Object 172 Constant 50 I[50, 50]: Double 136 GuardShape ← NewArrayObject#69 Object 79 Goto → block 11 Block 11 (loop header) 80 Phi ← Constant#22, Add#145 I[0 {}, 2147483647 {[loop] #17-1}]: Int32 81 Phi ← Constant#22, Phi#140 Int32 82 Constant magic optimized-out MagicOptimizedOut 83 InterruptCheck 88 Compare ← Phi#80, ArrayLength#17 Lt Bool 89 Test ← Compare#88 → block 12, block 19 1 0 Block 12 96 Elements ← GuardShape#95 Elements 97 InitializedLength ← Elements#96 I[0, 268435453]: Int32 98 BoundsCheck ← Phi#80, InitializedLength#97 I[0, 2147483646]: Int32 99 SpectreMaskIndex ← BoundsCheck#98, InitializedLength#97 I[0, 2147483646]: Int32 100 GuardElementNotHole ← Elements#96, SpectreMaskIndex#99 171 Goto → block 13 Block 13 115 GuardElementsArePacked ← Elements#96 116 LoadElement ← Elements#96, SpectreMaskIndex#99 Value 121 Goto → block 14 Block 14 124 Unbox LoadElement#116 to Double (fallible) Double 126 Compare ← Unbox#124, Constant#172 Gt Bool 127 Goto → block 15 Block 15 128 Test ← Compare#126 → block 17, block 16 1 0 Block 16 (split edge) 129 Goto → block 18 Block 17 133 Add ← Phi#81, Constant#51 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 137 Elements ← GuardShape#136 Elements 138 StoreElementHole ← GuardShape#136, Elements#137, Phi#81, LoadElement#116 139 Goto → block 18 Block 18 (backedge) 140 Phi ← Add#133, Phi#81 Int32 145 Add ← Phi#80, Constant#51 [int32] I[1, 2147483647]: Int32 146 Goto → block 11 Block 19 148 Box ← NewArrayObject#69 Value 149 Return ← Box#148
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 I[0, 2147483647]: Int32 21 ArgumentsLength I[0, 500000]: Int32 22 Constant 0x0 I[0, 0]: Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc I[12, 12]: Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 51 Constant 0x1 I[1, 1]: Int32 52 Compare ← ArgumentsLength#21, Constant#51 Gt Bool 53 Test ← Compare#52 → block 5, block 6 1 0 Block 5 55 GetFrameArgument ← Constant#51 Value 56 Goto → block 7 Block 6 58 Box ← Constant#2 Value 59 Goto → block 7 Block 7 60 Phi ← Box#58, GetFrameArgument#55 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 Box ← Constant#61 Value 63 DebugCheckSelfHosted ← Box#62 Value 66 HasShape ← Unbox#10 Bool 67 Test ← HasShape#66 → block 8, block 9 1 0 Block 8 68 Constant shape at 104289c64f00 Shape 69 NewArrayObject ← Constant#68 Object 70 Goto → block 10 Block 9 71 CallGetIntrinsicValue Value 72 DebugCheckSelfHosted ← CallGetIntrinsicValue#71 Value 75 Bail 76 Unreachable Block 10 95 GuardShape ← Unbox#10 Object 118 Unbox Parameter#1 to Object (fallible) Object 119 GuardToFunction ← Unbox#118 Object 120 GuardFunctionScript ← GuardToFunction#119 Object 172 Constant 50 I[50, 50]: Double 136 GuardShape ← NewArrayObject#69 Object 79 Goto → block 11 Block 11 (loop header) 80 Phi ← Constant#22, Add#145 I[0 {}, 2147483647 {[loop] #17-1}]: Int32 81 Phi ← Constant#22, Phi#140 Int32 82 Constant magic optimized-out MagicOptimizedOut 83 InterruptCheck 88 Compare ← Phi#80, ArrayLength#17 Lt Bool 89 Test ← Compare#88 → block 12, block 19 1 0 Block 12 96 Elements ← GuardShape#95 Elements 97 InitializedLength ← Elements#96 I[0, 268435453]: Int32 98 BoundsCheck ← Phi#80, InitializedLength#97 I[0, 2147483646]: Int32 99 SpectreMaskIndex ← BoundsCheck#98, InitializedLength#97 I[0, 2147483646]: Int32 100 GuardElementNotHole ← Elements#96, SpectreMaskIndex#99 171 Goto → block 13 Block 13 115 GuardElementsArePacked ← Elements#96 116 LoadElement ← Elements#96, SpectreMaskIndex#99 Value 121 Goto → block 14 Block 14 124 Unbox LoadElement#116 to Double (fallible) Double 126 Compare ← Unbox#124, Constant#172 Gt Bool 127 Goto → block 15 Block 15 128 Test ← Compare#126 → block 17, block 16 1 0 Block 16 (split edge) 129 Goto → block 18 Block 17 133 Add ← Phi#81, Constant#51 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 137 Elements ← GuardShape#136 Elements 138 StoreElementHole ← GuardShape#136, Elements#137, Phi#81, LoadElement#116 139 Goto → block 18 Block 18 (backedge) 140 Phi ← Add#133, Phi#81 Int32 145 Add ← Phi#80, Constant#51 [int32] I[1, 2147483647]: Int32 146 Goto → block 11 Block 19 148 Box ← NewArrayObject#69 Value 149 Return ← Box#148
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 I[0, 2147483647]: Int32 21 ArgumentsLength I[0, 500000]: Int32 22 Constant 0x0 I[0, 0]: Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc I[12, 12]: Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 51 Constant 0x1 I[1, 1]: Int32 52 Compare ← ArgumentsLength#21, Constant#51 Gt Bool 53 Test ← Compare#52 → block 5, block 6 1 0 Block 5 55 GetFrameArgument ← Constant#51 Value 56 Goto → block 7 Block 6 58 Box ← Constant#2 Value 59 Goto → block 7 Block 7 60 Phi ← Box#58, GetFrameArgument#55 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 Box ← Constant#61 Value 63 DebugCheckSelfHosted ← Box#62 Value 66 HasShape ← Unbox#10 Bool 67 Test ← HasShape#66 → block 8, block 9 1 0 Block 8 68 Constant shape at 104289c64f00 Shape 69 NewArrayObject ← Constant#68 Object 70 Goto → block 10 Block 9 71 CallGetIntrinsicValue Value 72 DebugCheckSelfHosted ← CallGetIntrinsicValue#71 Value 75 Bail 76 Unreachable Block 10 95 GuardShape ← Unbox#10 Object 118 Unbox Parameter#1 to Object (fallible) Object 119 GuardToFunction ← Unbox#118 Object 120 GuardFunctionScript ← GuardToFunction#119 Object 172 Constant 50 I[50, 50]: Double 136 GuardShape ← NewArrayObject#69 Object 79 Goto → block 11 Block 11 (loop header) 80 Phi ← Constant#22, Add#145 I[0 {}, 2147483647 {[loop] #17-1}]: Int32 81 Phi ← Constant#22, Phi#140 Int32 82 Constant magic optimized-out MagicOptimizedOut 83 InterruptCheck 88 Compare ← Phi#80, ArrayLength#17 Lt Bool 89 Test ← Compare#88 → block 12, block 19 1 0 Block 12 96 Elements ← GuardShape#95 Elements 97 InitializedLength ← Elements#96 I[0, 268435453]: Int32 98 BoundsCheck ← Phi#80, InitializedLength#97 I[0, 2147483646]: Int32 99 SpectreMaskIndex ← BoundsCheck#98, InitializedLength#97 I[0, 2147483646]: Int32 100 GuardElementNotHole ← Elements#96, SpectreMaskIndex#99 171 Goto → block 13 Block 13 115 GuardElementsArePacked ← Elements#96 116 LoadElement ← Elements#96, SpectreMaskIndex#99 Value 121 Goto → block 14 Block 14 124 Unbox LoadElement#116 to Double (fallible) Double 126 Compare ← Unbox#124, Constant#172 Gt Bool 127 Goto → block 15 Block 15 128 Test ← Compare#126 → block 17, block 16 1 0 Block 16 (split edge) 129 Goto → block 18 Block 17 133 Add ← Phi#81, Constant#51 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 137 Elements ← GuardShape#136 Elements 138 StoreElementHole ← GuardShape#136, Elements#137, Phi#81, LoadElement#116 139 Goto → block 18 Block 18 (backedge) 140 Phi ← Add#133, Phi#81 Int32 145 Add ← Phi#80, Constant#51 [int32] I[1, 2147483647]: Int32 146 Goto → block 11 Block 19 148 Box ← NewArrayObject#69 Value 149 Return ← Box#148
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 I[0, 2147483647]: Int32 21 ArgumentsLength I[0, 500000]: Int32 22 Constant 0x0 I[0, 0]: Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc I[12, 12]: Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 51 Constant 0x1 I[1, 1]: Int32 52 Compare ← ArgumentsLength#21, Constant#51 Gt Bool 53 Test ← Compare#52 → block 5, block 6 1 0 Block 5 55 GetFrameArgument ← Constant#51 Value 56 Goto → block 7 Block 6 58 Box ← Constant#2 Value 59 Goto → block 7 Block 7 60 Phi ← Box#58, GetFrameArgument#55 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 Box ← Constant#61 Value 63 DebugCheckSelfHosted ← Box#62 Value 66 HasShape ← Unbox#10 Bool 67 Test ← HasShape#66 → block 8, block 9 1 0 Block 8 68 Constant shape at 104289c64f00 Shape 69 NewArrayObject ← Constant#68 Object 70 Goto → block 10 Block 9 71 CallGetIntrinsicValue Value 72 DebugCheckSelfHosted ← CallGetIntrinsicValue#71 Value 75 Bail 76 Unreachable Block 10 95 GuardShape ← Unbox#10 Object 118 Unbox Parameter#1 to Object (fallible) Object 119 GuardToFunction ← Unbox#118 Object 120 GuardFunctionScript ← GuardToFunction#119 Object 172 Constant 50 I[50, 50]: Double 136 GuardShape ← NewArrayObject#69 Object 79 Goto → block 11 Block 11 (loop header) 80 Phi ← Constant#22, Add#145 I[0 {}, 2147483647 {[loop] #17-1}]: Int32 81 Phi ← Constant#22, Phi#140 Int32 82 Constant magic optimized-out MagicOptimizedOut 83 InterruptCheck 88 Compare ← Phi#80, ArrayLength#17 Lt Bool 89 Test ← Compare#88 → block 12, block 19 1 0 Block 12 96 Elements ← GuardShape#95 Elements 97 InitializedLength ← Elements#96 I[0, 268435453]: Int32 98 BoundsCheck ← Phi#80, InitializedLength#97 I[0, 2147483646]: Int32 99 SpectreMaskIndex ← BoundsCheck#98, InitializedLength#97 I[0, 2147483646]: Int32 100 GuardElementNotHole ← Elements#96, SpectreMaskIndex#99 171 Goto → block 13 Block 13 115 GuardElementsArePacked ← Elements#96 116 LoadElement ← Elements#96, SpectreMaskIndex#99 Value 121 Goto → block 14 Block 14 124 Unbox LoadElement#116 to Double (fallible) Double 126 Compare ← Unbox#124, Constant#172 Gt Bool 127 Goto → block 15 Block 15 128 Test ← Compare#126 → block 17, block 16 1 0 Block 16 (split edge) 129 Goto → block 18 Block 17 133 Add ← Phi#81, Constant#51 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 137 Elements ← GuardShape#136 Elements 138 StoreElementHole ← GuardShape#136, Elements#137, Phi#81, LoadElement#116 139 Goto → block 18 Block 18 (backedge) 140 Phi ← Add#133, Phi#81 Int32 145 Add ← Phi#80, Constant#51 [int32] I[1, 2147483647]: Int32 146 Goto → block 11 Block 19 148 Box ← NewArrayObject#69 Value 149 Return ← Box#148
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 I[0, 2147483647]: Int32 21 ArgumentsLength I[0, 500000]: Int32 22 Constant 0x0 I[0, 0]: Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc I[12, 12]: Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 51 Constant 0x1 I[1, 1]: Int32 52 Compare ← ArgumentsLength#21, Constant#51 Gt Bool 53 Test ← Compare#52 → block 5, block 6 1 0 Block 5 55 GetFrameArgument ← Constant#51 Value 56 Goto → block 7 Block 6 58 Box ← Constant#2 Value 59 Goto → block 7 Block 7 60 Phi ← Box#58, GetFrameArgument#55 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 Box ← Constant#61 Value 63 DebugCheckSelfHosted ← Box#62 Value 66 HasShape ← Unbox#10 Bool 67 Test ← HasShape#66 → block 8, block 9 1 0 Block 8 68 Constant shape at 104289c64f00 Shape 69 NewArrayObject ← Constant#68 Object 70 Goto → block 10 Block 9 71 CallGetIntrinsicValue Value 72 DebugCheckSelfHosted ← CallGetIntrinsicValue#71 Value 75 Bail 76 Unreachable Block 10 95 GuardShape ← Unbox#10 Object 118 Unbox Parameter#1 to Object (fallible) Object 119 GuardToFunction ← Unbox#118 Object 120 GuardFunctionScript ← GuardToFunction#119 Object 172 Constant 50 I[50, 50]: Double 136 GuardShape ← NewArrayObject#69 Object 79 Goto → block 11 Block 11 (loop header) 80 Phi ← Constant#22, Add#145 I[0 {}, 2147483647 {[loop] #17-1}]: Int32 81 Phi ← Constant#22, Phi#140 Int32 82 Constant magic optimized-out MagicOptimizedOut 83 InterruptCheck 88 Compare ← Phi#80, ArrayLength#17 Lt Bool 89 Test ← Compare#88 → block 12, block 19 1 0 Block 12 96 Elements ← GuardShape#95 Elements 97 InitializedLength ← Elements#96 I[0, 268435453]: Int32 98 BoundsCheck ← Phi#80, InitializedLength#97 I[0, 2147483646]: Int32 99 SpectreMaskIndex ← BoundsCheck#98, InitializedLength#97 I[0, 2147483646]: Int32 100 GuardElementNotHole ← Elements#96, SpectreMaskIndex#99 171 Goto → block 13 Block 13 115 GuardElementsArePacked ← Elements#96 116 LoadElement ← Elements#96, SpectreMaskIndex#99 Value 121 Goto → block 14 Block 14 124 Unbox LoadElement#116 to Double (fallible) Double 126 Compare ← Unbox#124, Constant#172 Gt Bool 127 Goto → block 15 Block 15 128 Test ← Compare#126 → block 17, block 16 1 0 Block 16 (split edge) 129 Goto → block 18 Block 17 133 Add ← Phi#81, Constant#51 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 137 Elements ← GuardShape#136 Elements 138 StoreElementHole ← GuardShape#136, Elements#137, Phi#81, LoadElement#116 139 Goto → block 18 Block 18 (backedge) 140 Phi ← Add#133, Phi#81 Int32 145 Add ← Phi#80, Constant#51 [int32] I[1, 2147483647]: Int32 146 Goto → block 11 Block 19 148 Box ← NewArrayObject#69 Value 149 Return ← Box#148
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 I[0, 2147483647]: Int32 21 ArgumentsLength I[0, 500000]: Int32 22 Constant 0x0 I[0, 0]: Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc I[12, 12]: Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 51 Constant 0x1 I[1, 1]: Int32 52 Compare ← ArgumentsLength#21, Constant#51 Gt Bool 53 Test ← Compare#52 → block 5, block 6 1 0 Block 5 55 GetFrameArgument ← Constant#51 Value 56 Goto → block 7 Block 6 58 Box ← Constant#2 Value 59 Goto → block 7 Block 7 60 Phi ← Box#58, GetFrameArgument#55 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 Box ← Constant#61 Value 63 DebugCheckSelfHosted ← Box#62 Value 66 HasShape ← Unbox#10 Bool 67 Test ← HasShape#66 → block 8, block 9 1 0 Block 8 68 Constant shape at 104289c64f00 Shape 69 NewArrayObject ← Constant#68 Object 70 Goto → block 10 Block 9 71 CallGetIntrinsicValue Value 72 DebugCheckSelfHosted ← CallGetIntrinsicValue#71 Value 75 Bail 76 Unreachable Block 10 95 GuardShape ← Unbox#10 Object 118 Unbox Parameter#1 to Object (fallible) Object 119 GuardToFunction ← Unbox#118 Object 120 GuardFunctionScript ← GuardToFunction#119 Object 172 Constant 50 I[50, 50]: Double 136 GuardShape ← NewArrayObject#69 Object 79 Goto → block 11 Block 11 (loop header) 80 Phi ← Constant#22, Add#145 I[0 {}, 2147483647 {[loop] #17-1}]: Int32 81 Phi ← Constant#22, Phi#140 Int32 82 Constant magic optimized-out MagicOptimizedOut 83 InterruptCheck 88 Compare ← Phi#80, ArrayLength#17 Lt Bool 89 Test ← Compare#88 → block 12, block 19 1 0 Block 12 96 Elements ← GuardShape#95 Elements 97 InitializedLength ← Elements#96 I[0, 268435453]: Int32 98 BoundsCheck ← Phi#80, InitializedLength#97 I[0, 2147483646]: Int32 99 SpectreMaskIndex ← BoundsCheck#98, InitializedLength#97 I[0, 2147483646]: Int32 100 GuardElementNotHole ← Elements#96, SpectreMaskIndex#99 171 Goto → block 13 Block 13 115 GuardElementsArePacked ← Elements#96 116 LoadElement ← Elements#96, SpectreMaskIndex#99 Value 121 Goto → block 14 Block 14 124 Unbox LoadElement#116 to Double (fallible) Double 126 Compare ← Unbox#124, Constant#172 Gt Bool 127 Goto → block 15 Block 15 128 Test ← Compare#126 → block 17, block 16 1 0 Block 16 (split edge) 129 Goto → block 18 Block 17 133 Add ← Phi#81, Constant#51 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 137 Elements ← GuardShape#136 Elements 138 StoreElementHole ← GuardShape#136, Elements#137, Phi#81, LoadElement#116 139 Goto → block 18 Block 18 (backedge) 140 Phi ← Add#133, Phi#81 Int32 145 Add ← Phi#80, Constant#51 [int32] I[1, 2147483647]: Int32 146 Goto → block 11 Block 19 148 Box ← NewArrayObject#69 Value 149 Return ← Box#148
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 10 Unbox Parameter#0 to Object (fallible) Object 11 Constant function ToLength at 104289c6c778 Object 12 Box ← Constant#11 Value 13 DebugCheckSelfHosted ← Box#12 Value 15 GuardShape ← Unbox#10 Object 16 Elements ← GuardShape#15 Elements 17 ArrayLength ← Elements#16 I[0, 2147483647]: Int32 21 ArgumentsLength I[0, 500000]: Int32 22 Constant 0x0 I[0, 0]: Int32 23 Compare ← ArgumentsLength#21, Constant#22 StrictEq Bool 24 Test ← Compare#23 → block 1, block 2 1 0 Block 1 25 CallGetIntrinsicValue Value 26 DebugCheckSelfHosted ← CallGetIntrinsicValue#25 Value 31 Bail 32 Unreachable Block 2 33 Constant function IsCallable at 104289c6c7b0 Object 34 Box ← Constant#33 Value 35 DebugCheckSelfHosted ← Box#34 Value 38 IsCallable ← Parameter#1 Bool 39 Test ← IsCallable#38 → block 4, block 3 1 0 Block 3 40 CallGetIntrinsicValue Value 41 DebugCheckSelfHosted ← CallGetIntrinsicValue#40 Value 43 Constant 0xc I[12, 12]: Int32 44 CallGetIntrinsicValue Value 45 DebugCheckSelfHosted ← CallGetIntrinsicValue#44 Value 48 Bail 49 Unreachable Block 4 51 Constant 0x1 I[1, 1]: Int32 52 Compare ← ArgumentsLength#21, Constant#51 Gt Bool 53 Test ← Compare#52 → block 5, block 6 1 0 Block 5 55 GetFrameArgument ← Constant#51 Value 56 Goto → block 7 Block 6 58 Box ← Constant#2 Value 59 Goto → block 7 Block 7 60 Phi ← Box#58, GetFrameArgument#55 Value 61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 62 Box ← Constant#61 Value 63 DebugCheckSelfHosted ← Box#62 Value 66 HasShape ← Unbox#10 Bool 67 Test ← HasShape#66 → block 8, block 9 1 0 Block 8 68 Constant shape at 104289c64f00 Shape 69 NewArrayObject ← Constant#68 Object 70 Goto → block 10 Block 9 71 CallGetIntrinsicValue Value 72 DebugCheckSelfHosted ← CallGetIntrinsicValue#71 Value 75 Bail 76 Unreachable Block 10 95 GuardShape ← Unbox#10 Object 118 Unbox Parameter#1 to Object (fallible) Object 119 GuardToFunction ← Unbox#118 Object 120 GuardFunctionScript ← GuardToFunction#119 Object 172 Constant 50 I[50, 50]: Double 136 GuardShape ← NewArrayObject#69 Object 79 Goto → block 11 Block 11 (loop header) 80 Phi ← Constant#22, Add#145 I[0 {}, 2147483647 {[loop] #17-1}]: Int32 81 Phi ← Constant#22, Phi#140 Int32 82 Constant magic optimized-out MagicOptimizedOut 83 InterruptCheck 88 Compare ← Phi#80, ArrayLength#17 Lt Bool 89 Test ← Compare#88 → block 12, block 19 1 0 Block 12 96 Elements ← GuardShape#95 Elements 97 InitializedLength ← Elements#96 I[0, 268435453]: Int32 98 BoundsCheck ← Phi#80, InitializedLength#97 I[0, 2147483646]: Int32 99 SpectreMaskIndex ← BoundsCheck#98, InitializedLength#97 I[0, 2147483646]: Int32 100 GuardElementNotHole ← Elements#96, SpectreMaskIndex#99 171 Goto → block 13 Block 13 115 GuardElementsArePacked ← Elements#96 116 LoadElement ← Elements#96, SpectreMaskIndex#99 Value 121 Goto → block 14 Block 14 124 Unbox LoadElement#116 to Double (fallible) Double 126 Compare ← Unbox#124, Constant#172 Gt Bool 127 Goto → block 15 Block 15 128 Test ← Compare#126 → block 17, block 16 1 0 Block 16 (split edge) 129 Goto → block 18 Block 17 133 Add ← Phi#81, Constant#51 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 137 Elements ← GuardShape#136 Elements 138 StoreElementHole ← GuardShape#136, Elements#137, Phi#81, LoadElement#116 139 Goto → block 18 Block 18 (backedge) 140 Phi ← Add#133, Phi#81 Int32 145 Add ← Phi#80, Constant#51 [int32] I[1, 2147483647]: Int32 146 Goto → block 11 Block 19 148 Box ← NewArrayObject#69 Value 149 Return ← Box#148
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Unbox Parameter#0 to Object (fallible) Object 9 Constant function ToLength at 104289c6c778 Object 10 Box ← Constant#9 Value 11 DebugCheckSelfHosted ← Box#10 Value 12 GuardShape ← Unbox#8 Object 13 Elements ← GuardShape#12 Elements 14 ArrayLength ← Elements#13 I[0, 2147483647]: Int32 15 ArgumentsLength I[0, 500000]: Int32 16 Constant 0x0 I[0, 0]: Int32 17 Compare ← ArgumentsLength#15, Constant#16 StrictEq Bool 18 Test ← Compare#17 → block 1, block 2 1 0 Block 1 19 CallGetIntrinsicValue Value 20 DebugCheckSelfHosted ← CallGetIntrinsicValue#19 Value 21 Bail 22 Unreachable Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 IsCallable ← Parameter#1 Bool 27 Test ← IsCallable#26 → block 4, block 3 1 0 Block 3 28 CallGetIntrinsicValue Value 29 DebugCheckSelfHosted ← CallGetIntrinsicValue#28 Value 30 Constant 0xc I[12, 12]: Int32 31 CallGetIntrinsicValue Value 32 DebugCheckSelfHosted ← CallGetIntrinsicValue#31 Value 33 Bail 34 Unreachable Block 4 35 Constant 0x1 I[1, 1]: Int32 36 Compare ← ArgumentsLength#15, Constant#35 Gt Bool 37 Test ← Compare#36 → block 5, block 6 1 0 Block 5 38 GetFrameArgument ← Constant#35 Value 39 Goto → block 7 Block 6 40 Box ← Constant#2 Value 41 Goto → block 7 Block 7 42 Phi ← Box#40, GetFrameArgument#38 Value 43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 44 Box ← Constant#43 Value 45 DebugCheckSelfHosted ← Box#44 Value 46 HasShape ← Unbox#8 Bool 47 Test ← HasShape#46 → block 8, block 9 1 0 Block 8 48 Constant shape at 104289c64f00 Shape 49 NewArrayObject ← Constant#48 Object 50 Goto → block 10 Block 9 51 CallGetIntrinsicValue Value 52 DebugCheckSelfHosted ← CallGetIntrinsicValue#51 Value 53 Bail 54 Unreachable Block 10 55 GuardShape ← Unbox#8 Object 56 Unbox Parameter#1 to Object (fallible) Object 57 GuardToFunction ← Unbox#56 Object 58 GuardFunctionScript ← GuardToFunction#57 Object 59 Constant 50 I[50, 50]: Double 60 GuardShape ← NewArrayObject#49 Object 61 Goto → block 11 Block 11 (loop header) 62 Phi ← Constant#16, Add#87 I[0 {}, 2147483647 {[loop] #14-1}]: Int32 63 Phi ← Constant#16, Phi#86 Int32 64 Constant magic optimized-out MagicOptimizedOut 65 InterruptCheck 66 Compare ← Phi#62, ArrayLength#14 Lt Bool 67 Test ← Compare#66 → block 12, block 19 1 0 Block 12 68 Elements ← GuardShape#55 Elements 69 InitializedLength ← Elements#68 I[0, 268435453]: Int32 70 BoundsCheck ← Phi#62, InitializedLength#69 I[0, 2147483646]: Int32 71 SpectreMaskIndex ← BoundsCheck#70, InitializedLength#69 I[0, 2147483646]: Int32 72 GuardElementNotHole ← Elements#68, SpectreMaskIndex#71 73 Goto → block 13 Block 13 74 GuardElementsArePacked ← Elements#68 75 LoadElement ← Elements#68, SpectreMaskIndex#71 Value 76 Goto → block 14 Block 14 77 Unbox LoadElement#75 to Double (fallible) Double 78 Compare ← Unbox#77, Constant#59 Gt Bool 79 Goto → block 15 Block 15 80 Test ← Compare#78 → block 17, block 16 1 0 Block 16 (split edge) 81 Goto → block 18 Block 17 82 Add ← Phi#63, Constant#35 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 83 Elements ← GuardShape#60 Elements 84 StoreElementHole ← GuardShape#60, Elements#83, Phi#63, LoadElement#75 85 Goto → block 18 Block 18 (backedge) 86 Phi ← Add#82, Phi#63 Int32 87 Add ← Phi#62, Constant#35 [int32] I[1, 2147483647]: Int32 88 Goto → block 11 Block 19 89 Box ← NewArrayObject#49 Value 90 Return ← Box#89
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Unbox Parameter#0 to Object (fallible) Object 9 Constant function ToLength at 104289c6c778 Object 10 Box ← Constant#9 Value 11 DebugCheckSelfHosted ← Box#10 Value 12 GuardShape ← Unbox#8 Object 13 Elements ← GuardShape#12 Elements 14 ArrayLength ← Elements#13 I[0, 2147483647]: Int32 15 ArgumentsLength I[0, 500000]: Int32 16 Constant 0x0 I[0, 0]: Int32 17 Compare ← ArgumentsLength#15, Constant#16 StrictEq Bool 18 Test ← Compare#17 → block 1, block 2 1 0 Block 1 19 CallGetIntrinsicValue Value 20 DebugCheckSelfHosted ← CallGetIntrinsicValue#19 Value 21 Bail 22 Unreachable Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 IsCallable ← Parameter#1 Bool 27 Test ← IsCallable#26 → block 4, block 3 1 0 Block 3 28 CallGetIntrinsicValue Value 29 DebugCheckSelfHosted ← CallGetIntrinsicValue#28 Value 30 Constant 0xc I[12, 12]: Int32 31 CallGetIntrinsicValue Value 32 DebugCheckSelfHosted ← CallGetIntrinsicValue#31 Value 33 Bail 34 Unreachable Block 4 35 Constant 0x1 I[1, 1]: Int32 36 Compare ← ArgumentsLength#15, Constant#35 Gt Bool 37 Test ← Compare#36 → block 5, block 6 1 0 Block 5 38 GetFrameArgument ← Constant#35 Value 39 Goto → block 7 Block 6 40 Box ← Constant#2 Value 41 Goto → block 7 Block 7 42 Phi ← Box#40, GetFrameArgument#38 Value 43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 44 Box ← Constant#43 Value 45 DebugCheckSelfHosted ← Box#44 Value 46 HasShape ← Unbox#8 Bool 47 Test ← HasShape#46 → block 8, block 9 1 0 Block 8 48 Constant shape at 104289c64f00 Shape 49 NewArrayObject ← Constant#48 Object 50 Goto → block 10 Block 9 51 CallGetIntrinsicValue Value 52 DebugCheckSelfHosted ← CallGetIntrinsicValue#51 Value 53 Bail 54 Unreachable Block 10 55 GuardShape ← Unbox#8 Object 56 Unbox Parameter#1 to Object (fallible) Object 57 GuardToFunction ← Unbox#56 Object 58 GuardFunctionScript ← GuardToFunction#57 Object 59 Constant 50 I[50, 50]: Double 60 GuardShape ← NewArrayObject#49 Object 61 Goto → block 11 Block 11 (loop header) 62 Phi ← Constant#16, Add#87 I[0 {}, 2147483647 {[loop] #14-1}]: Int32 63 Phi ← Constant#16, Phi#86 Int32 64 Constant magic optimized-out MagicOptimizedOut 65 InterruptCheck 66 Compare ← Phi#62, ArrayLength#14 Lt Bool 67 Test ← Compare#66 → block 12, block 19 1 0 Block 12 68 Elements ← GuardShape#55 Elements 69 InitializedLength ← Elements#68 I[0, 268435453]: Int32 70 BoundsCheck ← Phi#62, InitializedLength#69 I[0, 2147483646]: Int32 71 SpectreMaskIndex ← BoundsCheck#70, InitializedLength#69 I[0, 2147483646]: Int32 72 GuardElementNotHole ← Elements#68, SpectreMaskIndex#71 73 Goto → block 13 Block 13 74 GuardElementsArePacked ← Elements#68 75 LoadElement ← Elements#68, SpectreMaskIndex#71 Value 76 Goto → block 14 Block 14 77 Unbox LoadElement#75 to Double (fallible) Double 78 Compare ← Unbox#77, Constant#59 Gt Bool 79 Goto → block 15 Block 15 80 Test ← Compare#78 → block 17, block 16 1 0 Block 16 (split edge) 81 Goto → block 18 Block 17 82 Add ← Phi#63, Constant#35 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 83 Elements ← GuardShape#60 Elements 84 StoreElementHole ← GuardShape#60, Elements#83, Phi#63, LoadElement#75 85 Goto → block 18 Block 18 (backedge) 86 Phi ← Add#82, Phi#63 Int32 87 Add ← Phi#62, Constant#35 [int32] I[1, 2147483647]: Int32 88 Goto → block 11 Block 19 89 Box ← NewArrayObject#49 Value 90 Return ← Box#89
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Unbox Parameter#0 to Object (fallible) Object 9 Constant function ToLength at 104289c6c778 Object 10 Box ← Constant#9 Value 11 DebugCheckSelfHosted ← Box#10 Value 12 GuardShape ← Unbox#8 Object 13 Elements ← GuardShape#12 Elements 14 ArrayLength ← Elements#13 I[0, 2147483647]: Int32 15 ArgumentsLength I[0, 500000]: Int32 16 Constant 0x0 I[0, 0]: Int32 17 Compare ← ArgumentsLength#15, Constant#16 StrictEq Bool 18 Test ← Compare#17 → block 1, block 2 1 0 Block 1 19 CallGetIntrinsicValue Value 20 DebugCheckSelfHosted ← CallGetIntrinsicValue#19 Value 21 Bail 22 Unreachable Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 IsCallable ← Parameter#1 Bool 27 Test ← IsCallable#26 → block 4, block 3 1 0 Block 3 28 CallGetIntrinsicValue Value 29 DebugCheckSelfHosted ← CallGetIntrinsicValue#28 Value 30 Constant 0xc I[12, 12]: Int32 31 CallGetIntrinsicValue Value 32 DebugCheckSelfHosted ← CallGetIntrinsicValue#31 Value 33 Bail 34 Unreachable Block 4 35 Constant 0x1 I[1, 1]: Int32 36 Compare ← ArgumentsLength#15, Constant#35 Gt Bool 37 Test ← Compare#36 → block 5, block 6 1 0 Block 5 38 GetFrameArgument ← Constant#35 Value 39 Goto → block 7 Block 6 40 Box ← Constant#2 Value 41 Goto → block 7 Block 7 42 Phi ← Box#40, GetFrameArgument#38 Value 43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 44 Box ← Constant#43 Value 45 DebugCheckSelfHosted ← Box#44 Value 46 HasShape ← Unbox#8 Bool 47 Test ← HasShape#46 → block 8, block 9 1 0 Block 8 48 Constant shape at 104289c64f00 Shape 49 NewArrayObject ← Constant#48 Object 50 Goto → block 10 Block 9 51 CallGetIntrinsicValue Value 52 DebugCheckSelfHosted ← CallGetIntrinsicValue#51 Value 53 Bail 54 Unreachable Block 10 55 GuardShape ← Unbox#8 Object 56 Unbox Parameter#1 to Object (fallible) Object 57 GuardToFunction ← Unbox#56 Object 58 GuardFunctionScript ← GuardToFunction#57 Object 59 Constant 50 I[50, 50]: Double 60 GuardShape ← NewArrayObject#49 Object 61 Goto → block 11 Block 11 (loop header) 62 Phi ← Constant#16, Add#87 I[0 {}, 2147483647 {[loop] #14-1}]: Int32 63 Phi ← Constant#16, Phi#86 Int32 64 Constant magic optimized-out MagicOptimizedOut 65 InterruptCheck 66 Compare ← Phi#62, ArrayLength#14 Lt Bool 67 Test ← Compare#66 → block 12, block 19 1 0 Block 12 68 Elements ← GuardShape#55 Elements 69 InitializedLength ← Elements#68 I[0, 268435453]: Int32 70 BoundsCheck ← Phi#62, InitializedLength#69 I[0, 2147483646]: Int32 71 SpectreMaskIndex ← BoundsCheck#70, InitializedLength#69 I[0, 2147483646]: Int32 72 GuardElementNotHole ← Elements#68, SpectreMaskIndex#71 73 Goto → block 13 Block 13 74 GuardElementsArePacked ← Elements#68 75 LoadElement ← Elements#68, SpectreMaskIndex#71 Value 76 Goto → block 14 Block 14 77 Unbox LoadElement#75 to Double (fallible) Double 78 Compare ← Unbox#77, Constant#59 Gt Bool 79 Goto → block 15 Block 15 80 Test ← Compare#78 → block 17, block 16 1 0 Block 16 (split edge) 81 Goto → block 18 Block 17 82 Add ← Phi#63, Constant#35 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 83 Elements ← GuardShape#60 Elements 84 StoreElementHole ← GuardShape#60, Elements#83, Phi#63, LoadElement#75 85 Goto → block 18 Block 18 (backedge) 86 Phi ← Add#82, Phi#63 Int32 87 Add ← Phi#62, Constant#35 [int32] I[1, 2147483647]: Int32 88 Goto → block 11 Block 19 89 Box ← NewArrayObject#49 Value 90 Return ← Box#89
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Unbox Parameter#0 to Object (fallible) Object 9 Constant function ToLength at 104289c6c778 Object 10 Box ← Constant#9 Value 11 DebugCheckSelfHosted ← Box#10 Value 12 GuardShape ← Unbox#8 Object 13 Elements ← GuardShape#12 Elements 14 ArrayLength ← Elements#13 I[0, 2147483647]: Int32 15 ArgumentsLength I[0, 500000]: Int32 16 Constant 0x0 I[0, 0]: Int32 17 Compare ← ArgumentsLength#15, Constant#16 StrictEq Bool 18 Test ← Compare#17 → block 1, block 2 1 0 Block 1 19 CallGetIntrinsicValue Value 20 DebugCheckSelfHosted ← CallGetIntrinsicValue#19 Value 21 Bail 22 Unreachable Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 IsCallable ← Parameter#1 Bool 27 Test ← IsCallable#26 → block 4, block 3 1 0 Block 3 28 CallGetIntrinsicValue Value 29 DebugCheckSelfHosted ← CallGetIntrinsicValue#28 Value 30 Constant 0xc I[12, 12]: Int32 31 CallGetIntrinsicValue Value 32 DebugCheckSelfHosted ← CallGetIntrinsicValue#31 Value 33 Bail 34 Unreachable Block 4 35 Constant 0x1 I[1, 1]: Int32 36 Compare ← ArgumentsLength#15, Constant#35 Gt Bool 37 Test ← Compare#36 → block 5, block 6 1 0 Block 5 38 GetFrameArgument ← Constant#35 Value 39 Goto → block 7 Block 6 40 Box ← Constant#2 Value 41 Goto → block 7 Block 7 42 Phi ← Box#40, GetFrameArgument#38 Value 43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 44 Box ← Constant#43 Value 45 DebugCheckSelfHosted ← Box#44 Value 46 HasShape ← Unbox#8 Bool 47 Test ← HasShape#46 → block 8, block 9 1 0 Block 8 48 Constant shape at 104289c64f00 Shape 49 NewArrayObject ← Constant#48 Object 50 Goto → block 10 Block 9 51 CallGetIntrinsicValue Value 52 DebugCheckSelfHosted ← CallGetIntrinsicValue#51 Value 53 Bail 54 Unreachable Block 10 55 GuardShape ← Unbox#8 Object 56 Unbox Parameter#1 to Object (fallible) Object 57 GuardToFunction ← Unbox#56 Object 58 GuardFunctionScript ← GuardToFunction#57 Object 59 Constant 50 I[50, 50]: Double 60 GuardShape ← NewArrayObject#49 Object 61 Goto → block 11 Block 11 (loop header) 62 Phi ← Constant#16, Add#87 I[0 {}, 2147483647 {[loop] #14-1}]: Int32 63 Phi ← Constant#16, Phi#86 Int32 64 Constant magic optimized-out MagicOptimizedOut 65 InterruptCheck 66 Compare ← Phi#62, ArrayLength#14 Lt Bool 67 Test ← Compare#66 → block 12, block 19 1 0 Block 12 68 Elements ← GuardShape#55 Elements 69 InitializedLength ← Elements#68 I[0, 268435453]: Int32 70 BoundsCheck ← Phi#62, InitializedLength#69 I[0, 2147483646]: Int32 71 SpectreMaskIndex ← Phi#62, InitializedLength#69 I[0, 2147483646]: Int32 72 GuardElementNotHole ← Elements#68, SpectreMaskIndex#71 73 Goto → block 13 Block 13 74 GuardElementsArePacked ← Elements#68 75 LoadElement ← Elements#68, SpectreMaskIndex#71 Value 76 Goto → block 14 Block 14 77 Unbox LoadElement#75 to Double (fallible) Double 78 Compare ← Unbox#77, Constant#59 Gt Bool 79 Goto → block 15 Block 15 80 Test ← Compare#78 → block 17, block 16 1 0 Block 16 (split edge) 81 Goto → block 18 Block 17 82 Add ← Phi#63, Constant#35 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 83 Elements ← GuardShape#60 Elements 84 StoreElementHole ← GuardShape#60, Elements#83, Phi#63, LoadElement#75 85 Goto → block 18 Block 18 (backedge) 86 Phi ← Add#82, Phi#63 Int32 87 Add ← Phi#62, Constant#35 [int32] I[1, 2147483647]: Int32 88 Goto → block 11 Block 19 89 Box ← NewArrayObject#49 Value 90 Return ← Box#89
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Unbox Parameter#0 to Object (fallible) Object 9 Constant function ToLength at 104289c6c778 Object 10 Box ← Constant#9 Value 11 DebugCheckSelfHosted ← Box#10 Value 12 GuardShape ← Unbox#8 Object 13 Elements ← GuardShape#12 Elements 14 ArrayLength ← Elements#13 I[0, 2147483647]: Int32 15 ArgumentsLength I[0, 500000]: Int32 16 Constant 0x0 I[0, 0]: Int32 17 Compare ← ArgumentsLength#15, Constant#16 StrictEq Bool 18 Test ← Compare#17 → block 1, block 2 1 0 Block 1 19 CallGetIntrinsicValue Value 20 DebugCheckSelfHosted ← CallGetIntrinsicValue#19 Value 21 Bail 22 Unreachable Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 IsCallable ← Parameter#1 Bool 27 Test ← IsCallable#26 → block 4, block 3 1 0 Block 3 28 CallGetIntrinsicValue Value 29 DebugCheckSelfHosted ← CallGetIntrinsicValue#28 Value 30 Constant 0xc I[12, 12]: Int32 31 CallGetIntrinsicValue Value 32 DebugCheckSelfHosted ← CallGetIntrinsicValue#31 Value 33 Bail 34 Unreachable Block 4 35 Constant 0x1 I[1, 1]: Int32 36 Compare ← ArgumentsLength#15, Constant#35 Gt Bool 37 Test ← Compare#36 → block 5, block 6 1 0 Block 5 38 GetFrameArgument ← Constant#35 Value 39 Goto → block 7 Block 6 40 Box ← Constant#2 Value 41 Goto → block 7 Block 7 42 Phi ← Box#40, GetFrameArgument#38 Value 43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 44 Box ← Constant#43 Value 45 DebugCheckSelfHosted ← Box#44 Value 46 HasShape ← Unbox#8 Bool 47 Test ← HasShape#46 → block 8, block 9 1 0 Block 8 48 Constant shape at 104289c64f00 Shape 49 NewArrayObject ← Constant#48 Object 50 Goto → block 10 Block 9 51 CallGetIntrinsicValue Value 52 DebugCheckSelfHosted ← CallGetIntrinsicValue#51 Value 53 Bail 54 Unreachable Block 10 55 GuardShape ← Unbox#8 Object 56 Unbox Parameter#1 to Object (fallible) Object 57 GuardToFunction ← Unbox#56 Object 58 GuardFunctionScript ← GuardToFunction#57 Object 59 Constant 50 I[50, 50]: Double 60 GuardShape ← NewArrayObject#49 Object 61 Goto → block 11 Block 11 (loop header) 62 Phi ← Constant#16, Add#87 I[0 {}, 2147483647 {[loop] #14-1}]: Int32 63 Phi ← Constant#16, Phi#86 Int32 64 Constant magic optimized-out MagicOptimizedOut 65 InterruptCheck 66 Compare ← Phi#62, ArrayLength#14 Lt Bool 67 Test ← Compare#66 → block 12, block 19 1 0 Block 12 68 Elements ← GuardShape#55 Elements 69 InitializedLength ← Elements#68 I[0, 268435453]: Int32 70 BoundsCheck ← Phi#62, InitializedLength#69 I[0, 2147483646]: Int32 71 SpectreMaskIndex ← Phi#62, InitializedLength#69 I[0, 2147483646]: Int32 72 GuardElementNotHole ← Elements#68, SpectreMaskIndex#71 73 Goto → block 13 Block 13 74 GuardElementsArePacked ← Elements#68 75 LoadElement ← Elements#68, SpectreMaskIndex#71 Value 76 Goto → block 14 Block 14 77 Unbox LoadElement#75 to Double (fallible) Double 78 Compare ← Unbox#77, Constant#59 Gt Bool 79 Goto → block 15 Block 15 80 Test ← Compare#78 → block 17, block 16 1 0 Block 16 (split edge) 81 Goto → block 18 Block 17 82 Add ← Phi#63, Constant#35 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 83 Elements ← GuardShape#60 Elements 84 StoreElementHole ← GuardShape#60, Elements#83, Phi#63, LoadElement#75 85 Goto → block 18 Block 18 (backedge) 86 Phi ← Add#82, Phi#63 Int32 87 Add ← Phi#62, Constant#35 [int32] I[1, 2147483647]: Int32 88 Goto → block 11 Block 19 89 Box ← NewArrayObject#49 Value 90 Return ← Box#89
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Unbox Parameter#0 to Object (fallible) Object 9 Constant function ToLength at 104289c6c778 Object 10 Box ← Constant#9 Value 11 DebugCheckSelfHosted ← Box#10 Value 12 GuardShape ← Unbox#8 Object 13 Elements ← GuardShape#12 Elements 14 ArrayLength ← Elements#13 I[0, 2147483647]: Int32 15 ArgumentsLength I[0, 500000]: Int32 16 Constant 0x0 I[0, 0]: Int32 17 Compare ← ArgumentsLength#15, Constant#16 StrictEq Bool 18 Test ← Compare#17 → block 1, block 2 1 0 Block 1 19 CallGetIntrinsicValue Value 20 DebugCheckSelfHosted ← CallGetIntrinsicValue#19 Value 21 Bail 22 Unreachable Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 IsCallable ← Parameter#1 Bool 27 Test ← IsCallable#26 → block 4, block 3 1 0 Block 3 28 CallGetIntrinsicValue Value 29 DebugCheckSelfHosted ← CallGetIntrinsicValue#28 Value 30 Constant 0xc I[12, 12]: Int32 31 CallGetIntrinsicValue Value 32 DebugCheckSelfHosted ← CallGetIntrinsicValue#31 Value 33 Bail 34 Unreachable Block 4 35 Constant 0x1 I[1, 1]: Int32 36 Compare ← ArgumentsLength#15, Constant#35 Gt Bool 37 Test ← Compare#36 → block 5, block 6 1 0 Block 5 38 GetFrameArgument ← Constant#35 Value 39 Goto → block 7 Block 6 40 Box ← Constant#2 Value 41 Goto → block 7 Block 7 42 Phi ← Box#40, GetFrameArgument#38 Value 43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 44 Box ← Constant#43 Value 45 DebugCheckSelfHosted ← Box#44 Value 46 HasShape ← Unbox#8 Bool 47 Test ← HasShape#46 → block 8, block 9 1 0 Block 8 48 Constant shape at 104289c64f00 Shape 49 NewArrayObject ← Constant#48 Object 50 Goto → block 10 Block 9 51 CallGetIntrinsicValue Value 52 DebugCheckSelfHosted ← CallGetIntrinsicValue#51 Value 53 Bail 54 Unreachable Block 10 55 GuardShape ← Unbox#8 Object 56 Unbox Parameter#1 to Object (fallible) Object 57 GuardToFunction ← Unbox#56 Object 58 GuardFunctionScript ← GuardToFunction#57 Object 59 Constant 50 I[50, 50]: Double 60 GuardShape ← NewArrayObject#49 Object 61 Goto → block 11 Block 11 (loop header) 62 Phi ← Constant#16, Add#87 I[0 {}, 2147483647 {[loop] #14-1}]: Int32 63 Phi ← Constant#16, Phi#86 Int32 64 Constant magic optimized-out MagicOptimizedOut 65 InterruptCheck 66 Compare ← Phi#62, ArrayLength#14 Lt Bool 67 Test ← Compare#66 → block 12, block 19 1 0 Block 12 68 Elements ← GuardShape#55 Elements 69 InitializedLength ← Elements#68 I[0, 268435453]: Int32 70 BoundsCheck ← Phi#62, InitializedLength#69 I[0, 2147483646]: Int32 71 SpectreMaskIndex ← Phi#62, InitializedLength#69 I[0, 2147483646]: Int32 72 GuardElementNotHole ← Elements#68, SpectreMaskIndex#71 73 Goto → block 13 Block 13 74 GuardElementsArePacked ← Elements#68 75 LoadElement ← Elements#68, SpectreMaskIndex#71 Value 76 Goto → block 14 Block 14 77 Unbox LoadElement#75 to Double (fallible) Double 78 Compare ← Unbox#77, Constant#59 Gt Bool 79 Goto → block 15 Block 15 80 Test ← Compare#78 → block 17, block 16 1 0 Block 16 (split edge) 81 Goto → block 18 Block 17 82 Add ← Phi#63, Constant#35 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 83 Elements ← GuardShape#60 Elements 84 StoreElementHole ← GuardShape#60, Elements#83, Phi#63, LoadElement#75 85 Goto → block 18 Block 18 (backedge) 86 Phi ← Add#82, Phi#63 Int32 87 Add ← Phi#62, Constant#35 [int32] I[1, 2147483647]: Int32 88 Goto → block 11 Block 19 89 Box ← NewArrayObject#49 Value 90 Return ← Box#89
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Unbox Parameter#0 to Object (fallible) Object 9 Constant function ToLength at 104289c6c778 Object 10 Box ← Constant#9 Value 11 DebugCheckSelfHosted ← Box#10 Value 12 GuardShape ← Unbox#8 Object 13 Elements ← GuardShape#12 Elements 14 ArrayLength ← Elements#13 I[0, 2147483647]: Int32 15 ArgumentsLength I[0, 500000]: Int32 16 Constant 0x0 I[0, 0]: Int32 17 Compare ← ArgumentsLength#15, Constant#16 StrictEq Bool 18 Test ← Compare#17 → block 1, block 2 1 0 Block 1 19 CallGetIntrinsicValue Value 20 DebugCheckSelfHosted ← CallGetIntrinsicValue#19 Value 21 Bail 22 Unreachable Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 IsCallable ← Parameter#1 Bool 27 Test ← IsCallable#26 → block 4, block 3 1 0 Block 3 28 CallGetIntrinsicValue Value 29 DebugCheckSelfHosted ← CallGetIntrinsicValue#28 Value 30 Constant 0xc I[12, 12]: Int32 31 CallGetIntrinsicValue Value 32 DebugCheckSelfHosted ← CallGetIntrinsicValue#31 Value 33 Bail 34 Unreachable Block 4 35 Constant 0x1 I[1, 1]: Int32 36 Compare ← ArgumentsLength#15, Constant#35 Gt Bool 37 Test ← Compare#36 → block 5, block 6 1 0 Block 5 38 GetFrameArgument ← Constant#35 Value 39 Goto → block 7 Block 6 40 Box ← Constant#2 Value 41 Goto → block 7 Block 7 42 Phi ← Box#40, GetFrameArgument#38 Value 43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 44 Box ← Constant#43 Value 45 DebugCheckSelfHosted ← Box#44 Value 46 HasShape ← Unbox#8 Bool 47 Test ← HasShape#46 → block 8, block 9 1 0 Block 8 48 Constant shape at 104289c64f00 Shape 49 NewArrayObject ← Constant#48 Object 50 Goto → block 10 Block 9 51 CallGetIntrinsicValue Value 52 DebugCheckSelfHosted ← CallGetIntrinsicValue#51 Value 53 Bail 54 Unreachable Block 10 55 GuardShape ← Unbox#8 Object 56 Unbox Parameter#1 to Object (fallible) Object 57 GuardToFunction ← Unbox#56 Object 58 GuardFunctionScript ← GuardToFunction#57 Object 59 Constant 50 I[50, 50]: Double 60 GuardShape ← NewArrayObject#49 Object 61 Goto → block 11 Block 11 (loop header) 62 Phi ← Constant#16, Add#87 I[0 {}, 2147483647 {[loop] #14-1}]: Int32 63 Phi ← Constant#16, Phi#86 Int32 64 Constant magic optimized-out MagicOptimizedOut 65 InterruptCheck 66 Compare ← Phi#62, ArrayLength#14 Lt Bool 67 Test ← Compare#66 → block 12, block 19 1 0 Block 12 68 Elements ← GuardShape#55 Elements 69 InitializedLength ← Elements#68 I[0, 268435453]: Int32 70 BoundsCheck ← Phi#62, InitializedLength#69 I[0, 2147483646]: Int32 71 SpectreMaskIndex ← Phi#62, InitializedLength#69 I[0, 2147483646]: Int32 72 GuardElementNotHole ← Elements#68, SpectreMaskIndex#71 73 Goto → block 13 Block 13 74 GuardElementsArePacked ← Elements#68 75 LoadElement ← Elements#68, SpectreMaskIndex#71 Value 76 Goto → block 14 Block 14 77 Unbox LoadElement#75 to Double (fallible) Double 78 Compare ← Unbox#77, Constant#59 Gt Bool 79 Goto → block 15 Block 15 80 Test ← Compare#78 → block 17, block 16 1 0 Block 16 (split edge) 81 Goto → block 18 Block 17 82 Add ← Phi#63, Constant#35 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 83 Elements ← GuardShape#60 Elements 84 StoreElementHole ← GuardShape#60, Elements#83, Phi#63, LoadElement#75 85 Goto → block 18 Block 18 (backedge) 86 Phi ← Add#82, Phi#63 Int32 87 Add ← Phi#62, Constant#35 [int32] I[1, 2147483647]: Int32 88 Goto → block 11 Block 19 89 Box ← NewArrayObject#49 Value 90 Return ← Box#89
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Unbox Parameter#0 to Object (fallible) Object 9 Constant function ToLength at 104289c6c778 Object 10 Box ← Constant#9 Value 11 DebugCheckSelfHosted ← Box#10 Value 12 GuardShape ← Unbox#8 Object 13 Elements ← GuardShape#12 Elements 181 DebugEnterGCUnsafeRegion 14 ArrayLength ← Elements#13 I[0, 2147483647]: Int32 182 DebugLeaveGCUnsafeRegion 15 ArgumentsLength I[0, 500000]: Int32 16 Constant 0x0 I[0, 0]: Int32 17 Compare ← ArgumentsLength#15, Constant#16 StrictEq Bool 18 Test ← Compare#17 → block 1, block 2 1 0 Block 1 19 CallGetIntrinsicValue Value 20 DebugCheckSelfHosted ← CallGetIntrinsicValue#19 Value 21 Bail 22 Unreachable Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 IsCallable ← Parameter#1 Bool 27 Test ← IsCallable#26 → block 4, block 3 1 0 Block 3 28 CallGetIntrinsicValue Value 29 DebugCheckSelfHosted ← CallGetIntrinsicValue#28 Value 30 Constant 0xc I[12, 12]: Int32 31 CallGetIntrinsicValue Value 32 DebugCheckSelfHosted ← CallGetIntrinsicValue#31 Value 33 Bail 34 Unreachable Block 4 35 Constant 0x1 I[1, 1]: Int32 36 Compare ← ArgumentsLength#15, Constant#35 Gt Bool 37 Test ← Compare#36 → block 5, block 6 1 0 Block 5 38 GetFrameArgument ← Constant#35 Value 39 Goto → block 7 Block 6 40 Box ← Constant#2 Value 41 Goto → block 7 Block 7 42 Phi ← Box#40, GetFrameArgument#38 Value 43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 44 Box ← Constant#43 Value 45 DebugCheckSelfHosted ← Box#44 Value 46 HasShape ← Unbox#8 Bool 47 Test ← HasShape#46 → block 8, block 9 1 0 Block 8 48 Constant shape at 104289c64f00 Shape 49 NewArrayObject ← Constant#48 Object 50 Goto → block 10 Block 9 51 CallGetIntrinsicValue Value 52 DebugCheckSelfHosted ← CallGetIntrinsicValue#51 Value 53 Bail 54 Unreachable Block 10 55 GuardShape ← Unbox#8 Object 56 Unbox Parameter#1 to Object (fallible) Object 57 GuardToFunction ← Unbox#56 Object 58 GuardFunctionScript ← GuardToFunction#57 Object 59 Constant 50 I[50, 50]: Double 60 GuardShape ← NewArrayObject#49 Object 61 Goto → block 11 Block 11 (loop header) 62 Phi ← Constant#16, Add#87 I[0 {}, 2147483647 {[loop] #14-1}]: Int32 63 Phi ← Constant#16, Phi#86 Int32 64 Constant magic optimized-out MagicOptimizedOut 65 InterruptCheck 66 Compare ← Phi#62, ArrayLength#14 Lt Bool 67 Test ← Compare#66 → block 12, block 19 1 0 Block 12 68 Elements ← GuardShape#55 Elements 187 DebugEnterGCUnsafeRegion 185 DebugEnterGCUnsafeRegion 69 InitializedLength ← Elements#68 I[0, 268435453]: Int32 188 DebugLeaveGCUnsafeRegion 70 BoundsCheck ← Phi#62, InitializedLength#69 I[0, 2147483646]: Int32 71 SpectreMaskIndex ← Phi#62, InitializedLength#69 I[0, 2147483646]: Int32 72 GuardElementNotHole ← Elements#68, SpectreMaskIndex#71 186 DebugLeaveGCUnsafeRegion 73 Goto → block 13 Block 13 74 GuardElementsArePacked ← Elements#68 184 KeepAliveObject ← GuardShape#55 75 LoadElement ← Elements#68, SpectreMaskIndex#71 Value 183 KeepAliveObject ← GuardShape#55 76 Goto → block 14 Block 14 77 Unbox LoadElement#75 to Double (fallible) Double 78 Compare ← Unbox#77, Constant#59 Gt Bool 79 Goto → block 15 Block 15 80 Test ← Compare#78 → block 17, block 16 1 0 Block 16 (split edge) 81 Goto → block 18 Block 17 82 Add ← Phi#63, Constant#35 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 83 Elements ← GuardShape#60 Elements 84 StoreElementHole ← GuardShape#60, Elements#83, Phi#63, LoadElement#75 85 Goto → block 18 Block 18 (backedge) 86 Phi ← Add#82, Phi#63 Int32 87 Add ← Phi#62, Constant#35 [int32] I[1, 2147483647]: Int32 88 Goto → block 11 Block 19 89 Box ← NewArrayObject#49 Value 90 Return ← Box#89
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Unbox Parameter#0 to Object (fallible) Object 9 Constant function ToLength at 104289c6c778 Object 10 Box ← Constant#9 Value 11 DebugCheckSelfHosted ← Box#10 Value 12 GuardShape ← Unbox#8 Object 13 Elements ← GuardShape#12 Elements 181 DebugEnterGCUnsafeRegion 14 ArrayLength ← Elements#13 I[0, 2147483647]: Int32 182 DebugLeaveGCUnsafeRegion 15 ArgumentsLength I[0, 500000]: Int32 16 Constant 0x0 I[0, 0]: Int32 17 Compare ← ArgumentsLength#15, Constant#16 StrictEq Bool 18 Test ← Compare#17 → block 1, block 2 1 0 Block 1 19 CallGetIntrinsicValue Value 20 DebugCheckSelfHosted ← CallGetIntrinsicValue#19 Value 21 Bail 22 Unreachable Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 IsCallable ← Parameter#1 Bool 27 Test ← IsCallable#26 → block 4, block 3 1 0 Block 3 28 CallGetIntrinsicValue Value 29 DebugCheckSelfHosted ← CallGetIntrinsicValue#28 Value 30 Constant 0xc I[12, 12]: Int32 31 CallGetIntrinsicValue Value 32 DebugCheckSelfHosted ← CallGetIntrinsicValue#31 Value 33 Bail 34 Unreachable Block 4 35 Constant 0x1 I[1, 1]: Int32 36 Compare ← ArgumentsLength#15, Constant#35 Gt Bool 37 Test ← Compare#36 → block 5, block 6 1 0 Block 5 38 GetFrameArgument ← Constant#35 Value 39 Goto → block 7 Block 6 40 Box ← Constant#2 Value 41 Goto → block 7 Block 7 42 Phi ← Box#40, GetFrameArgument#38 Value 43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 44 Box ← Constant#43 Value 45 DebugCheckSelfHosted ← Box#44 Value 46 HasShape ← Unbox#8 Bool 47 Test ← HasShape#46 → block 8, block 9 1 0 Block 8 48 Constant shape at 104289c64f00 Shape 49 NewArrayObject ← Constant#48 Object 50 Goto → block 10 Block 9 51 CallGetIntrinsicValue Value 52 DebugCheckSelfHosted ← CallGetIntrinsicValue#51 Value 53 Bail 54 Unreachable Block 10 55 GuardShape ← Unbox#8 Object 56 Unbox Parameter#1 to Object (fallible) Object 57 GuardToFunction ← Unbox#56 Object 58 GuardFunctionScript ← GuardToFunction#57 Object 59 Constant 50 I[50, 50]: Double 60 GuardShape ← NewArrayObject#49 Object 61 Goto → block 11 Block 11 (loop header) 62 Phi ← Constant#16, Add#87 I[0 {}, 2147483647 {[loop] #14-1}]: Int32 63 Phi ← Constant#16, Phi#86 Int32 64 Constant magic optimized-out MagicOptimizedOut 65 InterruptCheck 66 Compare ← Phi#62, ArrayLength#14 Lt Bool 67 Test ← Compare#66 → block 12, block 19 1 0 Block 12 68 Elements ← GuardShape#55 Elements 187 DebugEnterGCUnsafeRegion 185 DebugEnterGCUnsafeRegion 69 InitializedLength ← Elements#68 I[0, 268435453]: Int32 188 DebugLeaveGCUnsafeRegion 70 BoundsCheck ← Phi#62, InitializedLength#69 I[0, 2147483646]: Int32 71 SpectreMaskIndex ← Phi#62, InitializedLength#69 I[0, 2147483646]: Int32 72 GuardElementNotHole ← Elements#68, SpectreMaskIndex#71 186 DebugLeaveGCUnsafeRegion 73 Goto → block 13 Block 13 74 GuardElementsArePacked ← Elements#68 184 KeepAliveObject ← GuardShape#55 75 LoadElement ← Elements#68, SpectreMaskIndex#71 Value 183 KeepAliveObject ← GuardShape#55 76 Goto → block 14 Block 14 77 Unbox LoadElement#75 to Double (fallible) Double 78 Compare ← Unbox#77, Constant#59 Gt Bool 79 Goto → block 15 Block 15 80 Test ← Compare#78 → block 17, block 16 1 0 Block 16 (split edge) 81 Goto → block 18 Block 17 82 Add ← Phi#63, Constant#35 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 83 Elements ← GuardShape#60 Elements 84 StoreElementHole ← GuardShape#60, Elements#83, Phi#63, LoadElement#75 85 Goto → block 18 Block 18 (backedge) 86 Phi ← Add#82, Phi#63 Int32 87 Add ← Phi#62, Constant#35 [int32] I[1, 2147483647]: Int32 88 Goto → block 11 Block 19 89 Box ← NewArrayObject#49 Value 90 Return ← Box#89
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant function ToObject at 104289c6c740 Object 6 Box ← Constant#5 Value 7 DebugCheckSelfHosted ← Box#6 Value 8 Unbox Parameter#0 to Object (fallible) Object 9 Constant function ToLength at 104289c6c778 Object 10 Box ← Constant#9 Value 11 DebugCheckSelfHosted ← Box#10 Value 12 GuardShape ← Unbox#8 Object 13 Elements ← GuardShape#12 Elements 181 DebugEnterGCUnsafeRegion 14 ArrayLength ← Elements#13 I[0, 2147483647]: Int32 182 DebugLeaveGCUnsafeRegion 15 ArgumentsLength I[0, 500000]: Int32 16 Constant 0x0 I[0, 0]: Int32 17 Compare ← ArgumentsLength#15, Constant#16 StrictEq Bool 18 Test ← Compare#17 → block 1, block 2 1 0 Block 1 19 CallGetIntrinsicValue Value 20 DebugCheckSelfHosted ← CallGetIntrinsicValue#19 Value 21 Bail 22 Unreachable Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 IsCallable ← Parameter#1 Bool 27 Test ← IsCallable#26 → block 4, block 3 1 0 Block 3 28 CallGetIntrinsicValue Value 29 DebugCheckSelfHosted ← CallGetIntrinsicValue#28 Value 30 Constant 0xc I[12, 12]: Int32 31 CallGetIntrinsicValue Value 32 DebugCheckSelfHosted ← CallGetIntrinsicValue#31 Value 33 Bail 34 Unreachable Block 4 35 Constant 0x1 I[1, 1]: Int32 36 Compare ← ArgumentsLength#15, Constant#35 Gt Bool 37 Test ← Compare#36 → block 5, block 6 1 0 Block 5 38 GetFrameArgument ← Constant#35 Value 39 Goto → block 7 Block 6 40 Box ← Constant#2 Value 41 Goto → block 7 Block 7 42 Phi ← Box#40, GetFrameArgument#38 Value 43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 44 Box ← Constant#43 Value 45 DebugCheckSelfHosted ← Box#44 Value 46 HasShape ← Unbox#8 Bool 47 Test ← HasShape#46 → block 8, block 9 1 0 Block 8 48 Constant shape at 104289c64f00 Shape 49 NewArrayObject ← Constant#48 Object 50 Goto → block 10 Block 9 51 CallGetIntrinsicValue Value 52 DebugCheckSelfHosted ← CallGetIntrinsicValue#51 Value 53 Bail 54 Unreachable Block 10 55 GuardShape ← Unbox#8 Object 56 Unbox Parameter#1 to Object (fallible) Object 57 GuardToFunction ← Unbox#56 Object 58 GuardFunctionScript ← GuardToFunction#57 Object 59 Constant 50 I[50, 50]: Double 60 GuardShape ← NewArrayObject#49 Object 61 Goto → block 11 Block 11 (loop header) 62 Phi ← Constant#16, Add#87 I[0 {}, 2147483647 {[loop] #14-1}]: Int32 63 Phi ← Constant#16, Phi#86 Int32 64 Constant magic optimized-out MagicOptimizedOut 65 InterruptCheck 66 Compare ← Phi#62, ArrayLength#14 Lt Bool 67 Test ← Compare#66 → block 12, block 19 1 0 Block 12 68 Elements ← GuardShape#55 Elements 187 DebugEnterGCUnsafeRegion 185 DebugEnterGCUnsafeRegion 69 InitializedLength ← Elements#68 I[0, 268435453]: Int32 188 DebugLeaveGCUnsafeRegion 70 BoundsCheck ← Phi#62, InitializedLength#69 I[0, 2147483646]: Int32 71 SpectreMaskIndex ← Phi#62, InitializedLength#69 I[0, 2147483646]: Int32 72 GuardElementNotHole ← Elements#68, SpectreMaskIndex#71 186 DebugLeaveGCUnsafeRegion 73 Goto → block 13 Block 13 74 GuardElementsArePacked ← Elements#68 184 KeepAliveObject ← GuardShape#55 75 LoadElement ← Elements#68, SpectreMaskIndex#71 Value 183 KeepAliveObject ← GuardShape#55 76 Goto → block 14 Block 14 77 Unbox LoadElement#75 to Double (fallible) Double 78 Compare ← Unbox#77, Constant#59 Gt Bool 79 Goto → block 15 Block 15 80 Test ← Compare#78 → block 17, block 16 1 0 Block 16 (split edge) 81 Goto → block 18 Block 17 82 Add ← Phi#63, Constant#35 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 83 Elements ← GuardShape#60 Elements 84 StoreElementHole ← GuardShape#60, Elements#83, Phi#63, LoadElement#75 85 Goto → block 18 Block 18 (backedge) 86 Phi ← Add#82, Phi#63 Int32 87 Add ← Phi#62, Constant#35 [int32] I[1, 2147483647]: Int32 88 Goto → block 11 Block 19 89 Box ← NewArrayObject#49 Value 90 Return ← Box#89
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant object 104289c3f040 (LexicalEnvironment) Object 6 Constant object 104289c3e030 (global) Object 7 Constant object 104289c41148 (Math) Object 8 Constant object 104289c41148 (Math) Object 9 GuardObjectIdentity ← Constant#7, Constant#8 Object 10 Constant function sqrt at 104289c6c388 Object 11 Unbox Parameter#1 to Double (fallible) Double 12 Unbox Parameter#1 to Double (fallible) Double 13 Mul ← Unbox#11, Unbox#12 [double] Double 14 Constant 0x1 Int32 15 Constant function sqrt at 104289c6c388 Object 16 GuardSpecificFunction ← Constant#10, Constant#15 Object 17 Sqrt ← Mul#13 Double 18 Constant object 104289c3f040 (LexicalEnvironment) Object 19 Constant object 104289c3e030 (global) Object 20 Constant object 104289c41148 (Math) Object 21 Constant object 104289c41148 (Math) Object 22 GuardObjectIdentity ← Constant#20, Constant#21 Object 23 Constant function sin at 104289c6c350 Object 24 Constant 0x1 Int32 25 Constant function sin at 104289c6c350 Object 26 GuardSpecificFunction ← Constant#23, Constant#25 Object 27 Unbox Parameter#1 to Double (fallible) Double 28 MathFunction ← Unbox#27 Sin (native) Double 29 Add ← Sqrt#17, MathFunction#28 [double] Double 30 Constant object 104289c3f040 (LexicalEnvironment) Object 31 Constant object 104289c3e030 (global) Object 32 Constant object 104289c41148 (Math) Object 33 Constant object 104289c41148 (Math) Object 34 GuardObjectIdentity ← Constant#32, Constant#33 Object 35 Constant function cos at 104289c6c0b0 Object 36 Constant 0x1 Int32 37 Constant function cos at 104289c6c0b0 Object 38 GuardSpecificFunction ← Constant#35, Constant#37 Object 39 Unbox Parameter#1 to Double (fallible) Double 40 MathFunction ← Unbox#39 Cos (native) Double 41 Add ← Add#29, MathFunction#40 [double] Double 42 Constant object 104289c3f040 (LexicalEnvironment) Object 43 Constant object 104289c3e030 (global) Object 44 Constant object 104289c41148 (Math) Object 45 Constant object 104289c41148 (Math) Object 46 GuardObjectIdentity ← Constant#44, Constant#45 Object 47 Constant function tan at 104289c6c3c0 Object 48 Constant 0x1 Int32 49 Constant function tan at 104289c6c3c0 Object 50 GuardSpecificFunction ← Constant#47, Constant#49 Object 51 Unbox Parameter#1 to Double (fallible) Double 52 MathFunction ← Unbox#51 Tan (native) Double 53 Add ← Add#41, MathFunction#52 [double] Double 54 Constant object 104289c3f040 (LexicalEnvironment) Object 55 Constant object 104289c3e030 (global) Object 56 Constant object 104289c41148 (Math) Object 57 Constant object 104289c41148 (Math) Object 58 GuardObjectIdentity ← Constant#56, Constant#57 Object 59 Constant function abs at 104289c63ee8 Object 60 Constant 0x1 Int32 61 Constant function abs at 104289c63ee8 Object 62 GuardSpecificFunction ← Constant#59, Constant#61 Object 63 Unbox Parameter#1 to Double (fallible) Double 64 Abs ← Unbox#63 Double 65 Add ← Add#53, Abs#64 [double] Double 66 Constant object 104289c3f040 (LexicalEnvironment) Object 67 Constant object 104289c3e030 (global) Object 68 Constant object 104289c41148 (Math) Object 69 Constant object 104289c41148 (Math) Object 70 GuardObjectIdentity ← Constant#68, Constant#69 Object 71 Constant function floor at 104289c6c120 Object 72 Constant 0x1 Int32 73 Constant function floor at 104289c6c120 Object 74 GuardSpecificFunction ← Constant#71, Constant#73 Object 75 Unbox Parameter#1 to Double (fallible) Double 76 NearbyInt ← Unbox#75 (down) Double 77 Add ← Add#65, NearbyInt#76 [double] Double 78 Constant object 104289c3f040 (LexicalEnvironment) Object 79 Constant object 104289c3e030 (global) Object 80 Constant object 104289c41148 (Math) Object 81 Constant object 104289c41148 (Math) Object 82 GuardObjectIdentity ← Constant#80, Constant#81 Object 83 Constant function ceil at 104289c6c040 Object 84 Constant 0x1 Int32 85 Constant function ceil at 104289c6c040 Object 86 GuardSpecificFunction ← Constant#83, Constant#85 Object 87 Unbox Parameter#1 to Double (fallible) Double 88 NearbyInt ← Unbox#87 (up) Double 89 Add ← Add#77, NearbyInt#88 [double] Double 90 Constant object 104289c3f040 (LexicalEnvironment) Object 91 Constant object 104289c3e030 (global) Object 92 Constant object 104289c41148 (Math) Object 93 Constant object 104289c41148 (Math) Object 94 GuardObjectIdentity ← Constant#92, Constant#93 Object 95 Constant function round at 104289c6c318 Object 96 Constant 0x1 Int32 97 Constant function round at 104289c6c318 Object 98 GuardSpecificFunction ← Constant#95, Constant#97 Object 99 Unbox Parameter#1 to Double (fallible) Double 100 RoundToDouble ← Unbox#99 Double 101 Add ← Add#89, RoundToDouble#100 [double] Double 102 Constant object 104289c3f040 (LexicalEnvironment) Object 103 Constant object 104289c3e030 (global) Object 104 Constant object 104289c41148 (Math) Object 105 Constant object 104289c41148 (Math) Object 106 GuardObjectIdentity ← Constant#104, Constant#105 Object 107 Constant function log at 104289c6c200 Object 108 Constant 0x1 Int32 109 Unbox Parameter#1 to Double (fallible) Double 110 Add ← Unbox#109, Constant#108 [double] Double 111 Constant 0x1 Int32 112 Constant function log at 104289c6c200 Object 113 GuardSpecificFunction ← Constant#107, Constant#112 Object 114 MathFunction ← Add#110 Log Double 115 Add ← Add#101, MathFunction#114 [double] Double 116 Return ← Add#115
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant object 104289c3f040 (LexicalEnvironment) Object 6 Constant object 104289c3e030 (global) Object 7 Constant object 104289c41148 (Math) Object 8 Constant object 104289c41148 (Math) Object 9 GuardObjectIdentity ← Constant#7, Constant#8 Object 10 Constant function sqrt at 104289c6c388 Object 11 Unbox Parameter#1 to Double (fallible) Double 12 Unbox Parameter#1 to Double (fallible) Double 13 Mul ← Unbox#11, Unbox#12 [double] Double 14 Constant 0x1 Int32 15 Constant function sqrt at 104289c6c388 Object 16 GuardSpecificFunction ← Constant#10, Constant#15 Object 17 Sqrt ← Mul#13 Double 18 Constant object 104289c3f040 (LexicalEnvironment) Object 19 Constant object 104289c3e030 (global) Object 20 Constant object 104289c41148 (Math) Object 21 Constant object 104289c41148 (Math) Object 22 GuardObjectIdentity ← Constant#20, Constant#21 Object 23 Constant function sin at 104289c6c350 Object 24 Constant 0x1 Int32 25 Constant function sin at 104289c6c350 Object 26 GuardSpecificFunction ← Constant#23, Constant#25 Object 27 Unbox Parameter#1 to Double (fallible) Double 28 MathFunction ← Unbox#27 Sin (native) Double 29 Add ← Sqrt#17, MathFunction#28 [double] Double 30 Constant object 104289c3f040 (LexicalEnvironment) Object 31 Constant object 104289c3e030 (global) Object 32 Constant object 104289c41148 (Math) Object 33 Constant object 104289c41148 (Math) Object 34 GuardObjectIdentity ← Constant#32, Constant#33 Object 35 Constant function cos at 104289c6c0b0 Object 36 Constant 0x1 Int32 37 Constant function cos at 104289c6c0b0 Object 38 GuardSpecificFunction ← Constant#35, Constant#37 Object 39 Unbox Parameter#1 to Double (fallible) Double 40 MathFunction ← Unbox#39 Cos (native) Double 41 Add ← Add#29, MathFunction#40 [double] Double 42 Constant object 104289c3f040 (LexicalEnvironment) Object 43 Constant object 104289c3e030 (global) Object 44 Constant object 104289c41148 (Math) Object 45 Constant object 104289c41148 (Math) Object 46 GuardObjectIdentity ← Constant#44, Constant#45 Object 47 Constant function tan at 104289c6c3c0 Object 48 Constant 0x1 Int32 49 Constant function tan at 104289c6c3c0 Object 50 GuardSpecificFunction ← Constant#47, Constant#49 Object 51 Unbox Parameter#1 to Double (fallible) Double 52 MathFunction ← Unbox#51 Tan (native) Double 53 Add ← Add#41, MathFunction#52 [double] Double 54 Constant object 104289c3f040 (LexicalEnvironment) Object 55 Constant object 104289c3e030 (global) Object 56 Constant object 104289c41148 (Math) Object 57 Constant object 104289c41148 (Math) Object 58 GuardObjectIdentity ← Constant#56, Constant#57 Object 59 Constant function abs at 104289c63ee8 Object 60 Constant 0x1 Int32 61 Constant function abs at 104289c63ee8 Object 62 GuardSpecificFunction ← Constant#59, Constant#61 Object 63 Unbox Parameter#1 to Double (fallible) Double 64 Abs ← Unbox#63 Double 65 Add ← Add#53, Abs#64 [double] Double 66 Constant object 104289c3f040 (LexicalEnvironment) Object 67 Constant object 104289c3e030 (global) Object 68 Constant object 104289c41148 (Math) Object 69 Constant object 104289c41148 (Math) Object 70 GuardObjectIdentity ← Constant#68, Constant#69 Object 71 Constant function floor at 104289c6c120 Object 72 Constant 0x1 Int32 73 Constant function floor at 104289c6c120 Object 74 GuardSpecificFunction ← Constant#71, Constant#73 Object 75 Unbox Parameter#1 to Double (fallible) Double 76 NearbyInt ← Unbox#75 (down) Double 77 Add ← Add#65, NearbyInt#76 [double] Double 78 Constant object 104289c3f040 (LexicalEnvironment) Object 79 Constant object 104289c3e030 (global) Object 80 Constant object 104289c41148 (Math) Object 81 Constant object 104289c41148 (Math) Object 82 GuardObjectIdentity ← Constant#80, Constant#81 Object 83 Constant function ceil at 104289c6c040 Object 84 Constant 0x1 Int32 85 Constant function ceil at 104289c6c040 Object 86 GuardSpecificFunction ← Constant#83, Constant#85 Object 87 Unbox Parameter#1 to Double (fallible) Double 88 NearbyInt ← Unbox#87 (up) Double 89 Add ← Add#77, NearbyInt#88 [double] Double 90 Constant object 104289c3f040 (LexicalEnvironment) Object 91 Constant object 104289c3e030 (global) Object 92 Constant object 104289c41148 (Math) Object 93 Constant object 104289c41148 (Math) Object 94 GuardObjectIdentity ← Constant#92, Constant#93 Object 95 Constant function round at 104289c6c318 Object 96 Constant 0x1 Int32 97 Constant function round at 104289c6c318 Object 98 GuardSpecificFunction ← Constant#95, Constant#97 Object 99 Unbox Parameter#1 to Double (fallible) Double 100 RoundToDouble ← Unbox#99 Double 101 Add ← Add#89, RoundToDouble#100 [double] Double 102 Constant object 104289c3f040 (LexicalEnvironment) Object 103 Constant object 104289c3e030 (global) Object 104 Constant object 104289c41148 (Math) Object 105 Constant object 104289c41148 (Math) Object 106 GuardObjectIdentity ← Constant#104, Constant#105 Object 107 Constant function log at 104289c6c200 Object 108 Constant 0x1 Int32 109 Unbox Parameter#1 to Double (fallible) Double 110 Add ← Unbox#109, Constant#108 [double] Double 111 Constant 0x1 Int32 112 Constant function log at 104289c6c200 Object 113 GuardSpecificFunction ← Constant#107, Constant#112 Object 114 MathFunction ← Add#110 Log Double 115 Add ← Add#101, MathFunction#114 [double] Double 116 Return ← Add#115
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant object 104289c3f040 (LexicalEnvironment) Object 6 Constant object 104289c3e030 (global) Object 7 Constant object 104289c41148 (Math) Object 8 Constant object 104289c41148 (Math) Object 9 GuardObjectIdentity ← Constant#7, Constant#8 Object 10 Constant function sqrt at 104289c6c388 Object 11 Unbox Parameter#1 to Double (fallible) Double 12 Unbox Parameter#1 to Double (fallible) Double 13 Mul ← Unbox#11, Unbox#12 [double] Double 14 Constant 0x1 Int32 15 Constant function sqrt at 104289c6c388 Object 16 GuardSpecificFunction ← Constant#10, Constant#15 Object 17 Sqrt ← Mul#13 Double 18 Constant object 104289c3f040 (LexicalEnvironment) Object 19 Constant object 104289c3e030 (global) Object 20 Constant object 104289c41148 (Math) Object 21 Constant object 104289c41148 (Math) Object 22 GuardObjectIdentity ← Constant#20, Constant#21 Object 23 Constant function sin at 104289c6c350 Object 24 Constant 0x1 Int32 25 Constant function sin at 104289c6c350 Object 26 GuardSpecificFunction ← Constant#23, Constant#25 Object 27 Unbox Parameter#1 to Double (fallible) Double 28 MathFunction ← Unbox#27 Sin (native) Double 29 Add ← Sqrt#17, MathFunction#28 [double] Double 30 Constant object 104289c3f040 (LexicalEnvironment) Object 31 Constant object 104289c3e030 (global) Object 32 Constant object 104289c41148 (Math) Object 33 Constant object 104289c41148 (Math) Object 34 GuardObjectIdentity ← Constant#32, Constant#33 Object 35 Constant function cos at 104289c6c0b0 Object 36 Constant 0x1 Int32 37 Constant function cos at 104289c6c0b0 Object 38 GuardSpecificFunction ← Constant#35, Constant#37 Object 39 Unbox Parameter#1 to Double (fallible) Double 40 MathFunction ← Unbox#39 Cos (native) Double 41 Add ← Add#29, MathFunction#40 [double] Double 42 Constant object 104289c3f040 (LexicalEnvironment) Object 43 Constant object 104289c3e030 (global) Object 44 Constant object 104289c41148 (Math) Object 45 Constant object 104289c41148 (Math) Object 46 GuardObjectIdentity ← Constant#44, Constant#45 Object 47 Constant function tan at 104289c6c3c0 Object 48 Constant 0x1 Int32 49 Constant function tan at 104289c6c3c0 Object 50 GuardSpecificFunction ← Constant#47, Constant#49 Object 51 Unbox Parameter#1 to Double (fallible) Double 52 MathFunction ← Unbox#51 Tan (native) Double 53 Add ← Add#41, MathFunction#52 [double] Double 54 Constant object 104289c3f040 (LexicalEnvironment) Object 55 Constant object 104289c3e030 (global) Object 56 Constant object 104289c41148 (Math) Object 57 Constant object 104289c41148 (Math) Object 58 GuardObjectIdentity ← Constant#56, Constant#57 Object 59 Constant function abs at 104289c63ee8 Object 60 Constant 0x1 Int32 61 Constant function abs at 104289c63ee8 Object 62 GuardSpecificFunction ← Constant#59, Constant#61 Object 63 Unbox Parameter#1 to Double (fallible) Double 64 Abs ← Unbox#63 Double 65 Add ← Add#53, Abs#64 [double] Double 66 Constant object 104289c3f040 (LexicalEnvironment) Object 67 Constant object 104289c3e030 (global) Object 68 Constant object 104289c41148 (Math) Object 69 Constant object 104289c41148 (Math) Object 70 GuardObjectIdentity ← Constant#68, Constant#69 Object 71 Constant function floor at 104289c6c120 Object 72 Constant 0x1 Int32 73 Constant function floor at 104289c6c120 Object 74 GuardSpecificFunction ← Constant#71, Constant#73 Object 75 Unbox Parameter#1 to Double (fallible) Double 76 NearbyInt ← Unbox#75 (down) Double 77 Add ← Add#65, NearbyInt#76 [double] Double 78 Constant object 104289c3f040 (LexicalEnvironment) Object 79 Constant object 104289c3e030 (global) Object 80 Constant object 104289c41148 (Math) Object 81 Constant object 104289c41148 (Math) Object 82 GuardObjectIdentity ← Constant#80, Constant#81 Object 83 Constant function ceil at 104289c6c040 Object 84 Constant 0x1 Int32 85 Constant function ceil at 104289c6c040 Object 86 GuardSpecificFunction ← Constant#83, Constant#85 Object 87 Unbox Parameter#1 to Double (fallible) Double 88 NearbyInt ← Unbox#87 (up) Double 89 Add ← Add#77, NearbyInt#88 [double] Double 90 Constant object 104289c3f040 (LexicalEnvironment) Object 91 Constant object 104289c3e030 (global) Object 92 Constant object 104289c41148 (Math) Object 93 Constant object 104289c41148 (Math) Object 94 GuardObjectIdentity ← Constant#92, Constant#93 Object 95 Constant function round at 104289c6c318 Object 96 Constant 0x1 Int32 97 Constant function round at 104289c6c318 Object 98 GuardSpecificFunction ← Constant#95, Constant#97 Object 99 Unbox Parameter#1 to Double (fallible) Double 100 RoundToDouble ← Unbox#99 Double 101 Add ← Add#89, RoundToDouble#100 [double] Double 102 Constant object 104289c3f040 (LexicalEnvironment) Object 103 Constant object 104289c3e030 (global) Object 104 Constant object 104289c41148 (Math) Object 105 Constant object 104289c41148 (Math) Object 106 GuardObjectIdentity ← Constant#104, Constant#105 Object 107 Constant function log at 104289c6c200 Object 108 Constant 0x1 Int32 109 Unbox Parameter#1 to Double (fallible) Double 110 Add ← Unbox#109, Constant#108 [double] Double 111 Constant 0x1 Int32 112 Constant function log at 104289c6c200 Object 113 GuardSpecificFunction ← Constant#107, Constant#112 Object 114 MathFunction ← Add#110 Log Double 115 Add ← Add#101, MathFunction#114 [double] Double 116 Return ← Add#115
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant object 104289c3f040 (LexicalEnvironment) Object 6 Constant object 104289c3e030 (global) Object 7 Constant object 104289c41148 (Math) Object 8 Constant object 104289c41148 (Math) Object 9 GuardObjectIdentity ← Constant#7, Constant#8 Object 10 Constant function sqrt at 104289c6c388 Object 11 Unbox Parameter#1 to Double (fallible) Double 12 Unbox Parameter#1 to Double (fallible) Double 13 Mul ← Unbox#11, Unbox#12 [double] Double 14 Constant 0x1 Int32 15 Constant function sqrt at 104289c6c388 Object 16 GuardSpecificFunction ← Constant#10, Constant#15 Object 17 Sqrt ← Mul#13 Double 18 Constant object 104289c3f040 (LexicalEnvironment) Object 19 Constant object 104289c3e030 (global) Object 20 Constant object 104289c41148 (Math) Object 21 Constant object 104289c41148 (Math) Object 22 GuardObjectIdentity ← Constant#20, Constant#21 Object 23 Constant function sin at 104289c6c350 Object 24 Constant 0x1 Int32 25 Constant function sin at 104289c6c350 Object 26 GuardSpecificFunction ← Constant#23, Constant#25 Object 27 Unbox Parameter#1 to Double (fallible) Double 28 MathFunction ← Unbox#27 Sin (native) Double 29 Add ← Sqrt#17, MathFunction#28 [double] Double 30 Constant object 104289c3f040 (LexicalEnvironment) Object 31 Constant object 104289c3e030 (global) Object 32 Constant object 104289c41148 (Math) Object 33 Constant object 104289c41148 (Math) Object 34 GuardObjectIdentity ← Constant#32, Constant#33 Object 35 Constant function cos at 104289c6c0b0 Object 36 Constant 0x1 Int32 37 Constant function cos at 104289c6c0b0 Object 38 GuardSpecificFunction ← Constant#35, Constant#37 Object 39 Unbox Parameter#1 to Double (fallible) Double 40 MathFunction ← Unbox#39 Cos (native) Double 41 Add ← Add#29, MathFunction#40 [double] Double 42 Constant object 104289c3f040 (LexicalEnvironment) Object 43 Constant object 104289c3e030 (global) Object 44 Constant object 104289c41148 (Math) Object 45 Constant object 104289c41148 (Math) Object 46 GuardObjectIdentity ← Constant#44, Constant#45 Object 47 Constant function tan at 104289c6c3c0 Object 48 Constant 0x1 Int32 49 Constant function tan at 104289c6c3c0 Object 50 GuardSpecificFunction ← Constant#47, Constant#49 Object 51 Unbox Parameter#1 to Double (fallible) Double 52 MathFunction ← Unbox#51 Tan (native) Double 53 Add ← Add#41, MathFunction#52 [double] Double 54 Constant object 104289c3f040 (LexicalEnvironment) Object 55 Constant object 104289c3e030 (global) Object 56 Constant object 104289c41148 (Math) Object 57 Constant object 104289c41148 (Math) Object 58 GuardObjectIdentity ← Constant#56, Constant#57 Object 59 Constant function abs at 104289c63ee8 Object 60 Constant 0x1 Int32 61 Constant function abs at 104289c63ee8 Object 62 GuardSpecificFunction ← Constant#59, Constant#61 Object 63 Unbox Parameter#1 to Double (fallible) Double 64 Abs ← Unbox#63 Double 65 Add ← Add#53, Abs#64 [double] Double 66 Constant object 104289c3f040 (LexicalEnvironment) Object 67 Constant object 104289c3e030 (global) Object 68 Constant object 104289c41148 (Math) Object 69 Constant object 104289c41148 (Math) Object 70 GuardObjectIdentity ← Constant#68, Constant#69 Object 71 Constant function floor at 104289c6c120 Object 72 Constant 0x1 Int32 73 Constant function floor at 104289c6c120 Object 74 GuardSpecificFunction ← Constant#71, Constant#73 Object 75 Unbox Parameter#1 to Double (fallible) Double 76 NearbyInt ← Unbox#75 (down) Double 77 Add ← Add#65, NearbyInt#76 [double] Double 78 Constant object 104289c3f040 (LexicalEnvironment) Object 79 Constant object 104289c3e030 (global) Object 80 Constant object 104289c41148 (Math) Object 81 Constant object 104289c41148 (Math) Object 82 GuardObjectIdentity ← Constant#80, Constant#81 Object 83 Constant function ceil at 104289c6c040 Object 84 Constant 0x1 Int32 85 Constant function ceil at 104289c6c040 Object 86 GuardSpecificFunction ← Constant#83, Constant#85 Object 87 Unbox Parameter#1 to Double (fallible) Double 88 NearbyInt ← Unbox#87 (up) Double 89 Add ← Add#77, NearbyInt#88 [double] Double 90 Constant object 104289c3f040 (LexicalEnvironment) Object 91 Constant object 104289c3e030 (global) Object 92 Constant object 104289c41148 (Math) Object 93 Constant object 104289c41148 (Math) Object 94 GuardObjectIdentity ← Constant#92, Constant#93 Object 95 Constant function round at 104289c6c318 Object 96 Constant 0x1 Int32 97 Constant function round at 104289c6c318 Object 98 GuardSpecificFunction ← Constant#95, Constant#97 Object 99 Unbox Parameter#1 to Double (fallible) Double 100 RoundToDouble ← Unbox#99 Double 101 Add ← Add#89, RoundToDouble#100 [double] Double 102 Constant object 104289c3f040 (LexicalEnvironment) Object 103 Constant object 104289c3e030 (global) Object 104 Constant object 104289c41148 (Math) Object 105 Constant object 104289c41148 (Math) Object 106 GuardObjectIdentity ← Constant#104, Constant#105 Object 107 Constant function log at 104289c6c200 Object 108 Constant 0x1 Int32 109 Unbox Parameter#1 to Double (fallible) Double 110 Add ← Unbox#109, Constant#108 [double] Double 111 Constant 0x1 Int32 112 Constant function log at 104289c6c200 Object 113 GuardSpecificFunction ← Constant#107, Constant#112 Object 114 MathFunction ← Add#110 Log Double 115 Add ← Add#101, MathFunction#114 [double] Double 116 Return ← Add#115
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant object 104289c3f040 (LexicalEnvironment) Object 6 Constant object 104289c3e030 (global) Object 7 Constant object 104289c41148 (Math) Object 8 Constant object 104289c41148 (Math) Object 9 GuardObjectIdentity ← Constant#7, Constant#8 Object 10 Constant function sqrt at 104289c6c388 Object 11 Unbox Parameter#1 to Double (fallible) Double 12 Unbox Parameter#1 to Double (fallible) Double 13 Mul ← Unbox#11, Unbox#12 [double] Double 14 Constant 0x1 Int32 15 Constant function sqrt at 104289c6c388 Object 16 GuardSpecificFunction ← Constant#10, Constant#15 Object 17 Sqrt ← Mul#13 Double 18 Constant object 104289c3f040 (LexicalEnvironment) Object 19 Constant object 104289c3e030 (global) Object 20 Constant object 104289c41148 (Math) Object 21 Constant object 104289c41148 (Math) Object 22 GuardObjectIdentity ← Constant#20, Constant#21 Object 23 Constant function sin at 104289c6c350 Object 24 Constant 0x1 Int32 25 Constant function sin at 104289c6c350 Object 26 GuardSpecificFunction ← Constant#23, Constant#25 Object 27 Unbox Parameter#1 to Double (fallible) Double 28 MathFunction ← Unbox#27 Sin (native) Double 29 Add ← Sqrt#17, MathFunction#28 [double] Double 30 Constant object 104289c3f040 (LexicalEnvironment) Object 31 Constant object 104289c3e030 (global) Object 32 Constant object 104289c41148 (Math) Object 33 Constant object 104289c41148 (Math) Object 34 GuardObjectIdentity ← Constant#32, Constant#33 Object 35 Constant function cos at 104289c6c0b0 Object 36 Constant 0x1 Int32 37 Constant function cos at 104289c6c0b0 Object 38 GuardSpecificFunction ← Constant#35, Constant#37 Object 39 Unbox Parameter#1 to Double (fallible) Double 40 MathFunction ← Unbox#39 Cos (native) Double 41 Add ← Add#29, MathFunction#40 [double] Double 42 Constant object 104289c3f040 (LexicalEnvironment) Object 43 Constant object 104289c3e030 (global) Object 44 Constant object 104289c41148 (Math) Object 45 Constant object 104289c41148 (Math) Object 46 GuardObjectIdentity ← Constant#44, Constant#45 Object 47 Constant function tan at 104289c6c3c0 Object 48 Constant 0x1 Int32 49 Constant function tan at 104289c6c3c0 Object 50 GuardSpecificFunction ← Constant#47, Constant#49 Object 51 Unbox Parameter#1 to Double (fallible) Double 52 MathFunction ← Unbox#51 Tan (native) Double 53 Add ← Add#41, MathFunction#52 [double] Double 54 Constant object 104289c3f040 (LexicalEnvironment) Object 55 Constant object 104289c3e030 (global) Object 56 Constant object 104289c41148 (Math) Object 57 Constant object 104289c41148 (Math) Object 58 GuardObjectIdentity ← Constant#56, Constant#57 Object 59 Constant function abs at 104289c63ee8 Object 60 Constant 0x1 Int32 61 Constant function abs at 104289c63ee8 Object 62 GuardSpecificFunction ← Constant#59, Constant#61 Object 63 Unbox Parameter#1 to Double (fallible) Double 64 Abs ← Unbox#63 Double 65 Add ← Add#53, Abs#64 [double] Double 66 Constant object 104289c3f040 (LexicalEnvironment) Object 67 Constant object 104289c3e030 (global) Object 68 Constant object 104289c41148 (Math) Object 69 Constant object 104289c41148 (Math) Object 70 GuardObjectIdentity ← Constant#68, Constant#69 Object 71 Constant function floor at 104289c6c120 Object 72 Constant 0x1 Int32 73 Constant function floor at 104289c6c120 Object 74 GuardSpecificFunction ← Constant#71, Constant#73 Object 75 Unbox Parameter#1 to Double (fallible) Double 76 NearbyInt ← Unbox#75 (down) Double 77 Add ← Add#65, NearbyInt#76 [double] Double 78 Constant object 104289c3f040 (LexicalEnvironment) Object 79 Constant object 104289c3e030 (global) Object 80 Constant object 104289c41148 (Math) Object 81 Constant object 104289c41148 (Math) Object 82 GuardObjectIdentity ← Constant#80, Constant#81 Object 83 Constant function ceil at 104289c6c040 Object 84 Constant 0x1 Int32 85 Constant function ceil at 104289c6c040 Object 86 GuardSpecificFunction ← Constant#83, Constant#85 Object 87 Unbox Parameter#1 to Double (fallible) Double 88 NearbyInt ← Unbox#87 (up) Double 89 Add ← Add#77, NearbyInt#88 [double] Double 90 Constant object 104289c3f040 (LexicalEnvironment) Object 91 Constant object 104289c3e030 (global) Object 92 Constant object 104289c41148 (Math) Object 93 Constant object 104289c41148 (Math) Object 94 GuardObjectIdentity ← Constant#92, Constant#93 Object 95 Constant function round at 104289c6c318 Object 96 Constant 0x1 Int32 97 Constant function round at 104289c6c318 Object 98 GuardSpecificFunction ← Constant#95, Constant#97 Object 99 Unbox Parameter#1 to Double (fallible) Double 100 RoundToDouble ← Unbox#99 Double 101 Add ← Add#89, RoundToDouble#100 [double] Double 102 Constant object 104289c3f040 (LexicalEnvironment) Object 103 Constant object 104289c3e030 (global) Object 104 Constant object 104289c41148 (Math) Object 105 Constant object 104289c41148 (Math) Object 106 GuardObjectIdentity ← Constant#104, Constant#105 Object 107 Constant function log at 104289c6c200 Object 108 Constant 0x1 Int32 109 Unbox Parameter#1 to Double (fallible) Double 110 Add ← Unbox#109, Constant#108 [double] Double 111 Constant 0x1 Int32 112 Constant function log at 104289c6c200 Object 113 GuardSpecificFunction ← Constant#107, Constant#112 Object 114 MathFunction ← Add#110 Log Double 115 Add ← Add#101, MathFunction#114 [double] Double 116 Return ← Add#115
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant object 104289c3f040 (LexicalEnvironment) Object 6 Constant object 104289c3e030 (global) Object 7 Constant object 104289c41148 (Math) Object 8 Constant object 104289c41148 (Math) Object 9 GuardObjectIdentity ← Constant#7, Constant#8 Object 10 Constant function sqrt at 104289c6c388 Object 11 Unbox Parameter#1 to Double (fallible) Double 12 Unbox Parameter#1 to Double (fallible) Double 13 Mul ← Unbox#11, Unbox#12 [double] Double 14 Constant 0x1 Int32 15 Constant function sqrt at 104289c6c388 Object 16 GuardSpecificFunction ← Constant#10, Constant#15 Object 17 Sqrt ← Mul#13 Double 18 Constant object 104289c3f040 (LexicalEnvironment) Object 19 Constant object 104289c3e030 (global) Object 20 Constant object 104289c41148 (Math) Object 21 Constant object 104289c41148 (Math) Object 22 GuardObjectIdentity ← Constant#20, Constant#21 Object 23 Constant function sin at 104289c6c350 Object 24 Constant 0x1 Int32 25 Constant function sin at 104289c6c350 Object 26 GuardSpecificFunction ← Constant#23, Constant#25 Object 27 Unbox Parameter#1 to Double (fallible) Double 28 MathFunction ← Unbox#27 Sin (native) Double 29 Add ← Sqrt#17, MathFunction#28 [double] Double 30 Constant object 104289c3f040 (LexicalEnvironment) Object 31 Constant object 104289c3e030 (global) Object 32 Constant object 104289c41148 (Math) Object 33 Constant object 104289c41148 (Math) Object 34 GuardObjectIdentity ← Constant#32, Constant#33 Object 35 Constant function cos at 104289c6c0b0 Object 36 Constant 0x1 Int32 37 Constant function cos at 104289c6c0b0 Object 38 GuardSpecificFunction ← Constant#35, Constant#37 Object 39 Unbox Parameter#1 to Double (fallible) Double 40 MathFunction ← Unbox#39 Cos (native) Double 41 Add ← Add#29, MathFunction#40 [double] Double 42 Constant object 104289c3f040 (LexicalEnvironment) Object 43 Constant object 104289c3e030 (global) Object 44 Constant object 104289c41148 (Math) Object 45 Constant object 104289c41148 (Math) Object 46 GuardObjectIdentity ← Constant#44, Constant#45 Object 47 Constant function tan at 104289c6c3c0 Object 48 Constant 0x1 Int32 49 Constant function tan at 104289c6c3c0 Object 50 GuardSpecificFunction ← Constant#47, Constant#49 Object 51 Unbox Parameter#1 to Double (fallible) Double 52 MathFunction ← Unbox#51 Tan (native) Double 53 Add ← Add#41, MathFunction#52 [double] Double 54 Constant object 104289c3f040 (LexicalEnvironment) Object 55 Constant object 104289c3e030 (global) Object 56 Constant object 104289c41148 (Math) Object 57 Constant object 104289c41148 (Math) Object 58 GuardObjectIdentity ← Constant#56, Constant#57 Object 59 Constant function abs at 104289c63ee8 Object 60 Constant 0x1 Int32 61 Constant function abs at 104289c63ee8 Object 62 GuardSpecificFunction ← Constant#59, Constant#61 Object 63 Unbox Parameter#1 to Double (fallible) Double 64 Abs ← Unbox#63 Double 65 Add ← Add#53, Abs#64 [double] Double 66 Constant object 104289c3f040 (LexicalEnvironment) Object 67 Constant object 104289c3e030 (global) Object 68 Constant object 104289c41148 (Math) Object 69 Constant object 104289c41148 (Math) Object 70 GuardObjectIdentity ← Constant#68, Constant#69 Object 71 Constant function floor at 104289c6c120 Object 72 Constant 0x1 Int32 73 Constant function floor at 104289c6c120 Object 74 GuardSpecificFunction ← Constant#71, Constant#73 Object 75 Unbox Parameter#1 to Double (fallible) Double 76 NearbyInt ← Unbox#75 (down) Double 77 Add ← Add#65, NearbyInt#76 [double] Double 78 Constant object 104289c3f040 (LexicalEnvironment) Object 79 Constant object 104289c3e030 (global) Object 80 Constant object 104289c41148 (Math) Object 81 Constant object 104289c41148 (Math) Object 82 GuardObjectIdentity ← Constant#80, Constant#81 Object 83 Constant function ceil at 104289c6c040 Object 84 Constant 0x1 Int32 85 Constant function ceil at 104289c6c040 Object 86 GuardSpecificFunction ← Constant#83, Constant#85 Object 87 Unbox Parameter#1 to Double (fallible) Double 88 NearbyInt ← Unbox#87 (up) Double 89 Add ← Add#77, NearbyInt#88 [double] Double 90 Constant object 104289c3f040 (LexicalEnvironment) Object 91 Constant object 104289c3e030 (global) Object 92 Constant object 104289c41148 (Math) Object 93 Constant object 104289c41148 (Math) Object 94 GuardObjectIdentity ← Constant#92, Constant#93 Object 95 Constant function round at 104289c6c318 Object 96 Constant 0x1 Int32 97 Constant function round at 104289c6c318 Object 98 GuardSpecificFunction ← Constant#95, Constant#97 Object 99 Unbox Parameter#1 to Double (fallible) Double 100 RoundToDouble ← Unbox#99 Double 101 Add ← Add#89, RoundToDouble#100 [double] Double 102 Constant object 104289c3f040 (LexicalEnvironment) Object 103 Constant object 104289c3e030 (global) Object 104 Constant object 104289c41148 (Math) Object 105 Constant object 104289c41148 (Math) Object 106 GuardObjectIdentity ← Constant#104, Constant#105 Object 107 Constant function log at 104289c6c200 Object 108 Constant 0x1 Int32 109 Unbox Parameter#1 to Double (fallible) Double 110 Add ← Unbox#109, Constant#108 [double] Double 111 Constant 0x1 Int32 112 Constant function log at 104289c6c200 Object 113 GuardSpecificFunction ← Constant#107, Constant#112 Object 114 MathFunction ← Add#110 Log Double 115 Add ← Add#101, MathFunction#114 [double] Double 116 Return ← Add#115
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant object 104289c3f040 (LexicalEnvironment) Object 6 Constant object 104289c3e030 (global) Object 7 Constant object 104289c41148 (Math) Object 8 Constant object 104289c41148 (Math) Object 9 GuardObjectIdentity ← Constant#7, Constant#8 Object 10 Constant function sqrt at 104289c6c388 Object 11 Unbox Parameter#1 to Double (fallible) Double 12 Unbox Parameter#1 to Double (fallible) Double 13 Mul ← Unbox#11, Unbox#12 [double] Double 14 Constant 0x1 Int32 15 Constant function sqrt at 104289c6c388 Object 16 GuardSpecificFunction ← Constant#10, Constant#15 Object 17 Sqrt ← Mul#13 Double 18 Constant object 104289c3f040 (LexicalEnvironment) Object 19 Constant object 104289c3e030 (global) Object 20 Constant object 104289c41148 (Math) Object 21 Constant object 104289c41148 (Math) Object 22 GuardObjectIdentity ← Constant#20, Constant#21 Object 23 Constant function sin at 104289c6c350 Object 24 Constant 0x1 Int32 25 Constant function sin at 104289c6c350 Object 26 GuardSpecificFunction ← Constant#23, Constant#25 Object 27 Unbox Parameter#1 to Double (fallible) Double 28 MathFunction ← Unbox#27 Sin (native) Double 29 Add ← Sqrt#17, MathFunction#28 [double] Double 30 Constant object 104289c3f040 (LexicalEnvironment) Object 31 Constant object 104289c3e030 (global) Object 32 Constant object 104289c41148 (Math) Object 33 Constant object 104289c41148 (Math) Object 34 GuardObjectIdentity ← Constant#32, Constant#33 Object 35 Constant function cos at 104289c6c0b0 Object 36 Constant 0x1 Int32 37 Constant function cos at 104289c6c0b0 Object 38 GuardSpecificFunction ← Constant#35, Constant#37 Object 39 Unbox Parameter#1 to Double (fallible) Double 40 MathFunction ← Unbox#39 Cos (native) Double 41 Add ← Add#29, MathFunction#40 [double] Double 42 Constant object 104289c3f040 (LexicalEnvironment) Object 43 Constant object 104289c3e030 (global) Object 44 Constant object 104289c41148 (Math) Object 45 Constant object 104289c41148 (Math) Object 46 GuardObjectIdentity ← Constant#44, Constant#45 Object 47 Constant function tan at 104289c6c3c0 Object 48 Constant 0x1 Int32 49 Constant function tan at 104289c6c3c0 Object 50 GuardSpecificFunction ← Constant#47, Constant#49 Object 51 Unbox Parameter#1 to Double (fallible) Double 52 MathFunction ← Unbox#51 Tan (native) Double 53 Add ← Add#41, MathFunction#52 [double] Double 54 Constant object 104289c3f040 (LexicalEnvironment) Object 55 Constant object 104289c3e030 (global) Object 56 Constant object 104289c41148 (Math) Object 57 Constant object 104289c41148 (Math) Object 58 GuardObjectIdentity ← Constant#56, Constant#57 Object 59 Constant function abs at 104289c63ee8 Object 60 Constant 0x1 Int32 61 Constant function abs at 104289c63ee8 Object 62 GuardSpecificFunction ← Constant#59, Constant#61 Object 63 Unbox Parameter#1 to Double (fallible) Double 64 Abs ← Unbox#63 Double 65 Add ← Add#53, Abs#64 [double] Double 66 Constant object 104289c3f040 (LexicalEnvironment) Object 67 Constant object 104289c3e030 (global) Object 68 Constant object 104289c41148 (Math) Object 69 Constant object 104289c41148 (Math) Object 70 GuardObjectIdentity ← Constant#68, Constant#69 Object 71 Constant function floor at 104289c6c120 Object 72 Constant 0x1 Int32 73 Constant function floor at 104289c6c120 Object 74 GuardSpecificFunction ← Constant#71, Constant#73 Object 75 Unbox Parameter#1 to Double (fallible) Double 76 NearbyInt ← Unbox#75 (down) Double 77 Add ← Add#65, NearbyInt#76 [double] Double 78 Constant object 104289c3f040 (LexicalEnvironment) Object 79 Constant object 104289c3e030 (global) Object 80 Constant object 104289c41148 (Math) Object 81 Constant object 104289c41148 (Math) Object 82 GuardObjectIdentity ← Constant#80, Constant#81 Object 83 Constant function ceil at 104289c6c040 Object 84 Constant 0x1 Int32 85 Constant function ceil at 104289c6c040 Object 86 GuardSpecificFunction ← Constant#83, Constant#85 Object 87 Unbox Parameter#1 to Double (fallible) Double 88 NearbyInt ← Unbox#87 (up) Double 89 Add ← Add#77, NearbyInt#88 [double] Double 90 Constant object 104289c3f040 (LexicalEnvironment) Object 91 Constant object 104289c3e030 (global) Object 92 Constant object 104289c41148 (Math) Object 93 Constant object 104289c41148 (Math) Object 94 GuardObjectIdentity ← Constant#92, Constant#93 Object 95 Constant function round at 104289c6c318 Object 96 Constant 0x1 Int32 97 Constant function round at 104289c6c318 Object 98 GuardSpecificFunction ← Constant#95, Constant#97 Object 99 Unbox Parameter#1 to Double (fallible) Double 100 RoundToDouble ← Unbox#99 Double 101 Add ← Add#89, RoundToDouble#100 [double] Double 102 Constant object 104289c3f040 (LexicalEnvironment) Object 103 Constant object 104289c3e030 (global) Object 104 Constant object 104289c41148 (Math) Object 105 Constant object 104289c41148 (Math) Object 106 GuardObjectIdentity ← Constant#104, Constant#105 Object 107 Constant function log at 104289c6c200 Object 108 Constant 0x1 Int32 109 Unbox Parameter#1 to Double (fallible) Double 110 Add ← Unbox#109, Constant#108 [double] Double 111 Constant 0x1 Int32 112 Constant function log at 104289c6c200 Object 113 GuardSpecificFunction ← Constant#107, Constant#112 Object 114 MathFunction ← Add#110 Log Double 115 Add ← Add#101, MathFunction#114 [double] Double 116 Return ← Add#115
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant object 104289c3f040 (LexicalEnvironment) Object 6 Constant object 104289c3e030 (global) Object 7 Constant object 104289c41148 (Math) Object 8 Constant object 104289c41148 (Math) Object 9 GuardObjectIdentity ← Constant#7, Constant#8 Object 10 Constant function sqrt at 104289c6c388 Object 11 Unbox Parameter#1 to Double (fallible) Double 12 Unbox Parameter#1 to Double (fallible) Double 13 Mul ← Unbox#11, Unbox#12 [double] Double 14 Constant 0x1 Int32 15 Constant function sqrt at 104289c6c388 Object 16 GuardSpecificFunction ← Constant#10, Constant#15 Object 17 Sqrt ← Mul#13 Double 18 Constant object 104289c3f040 (LexicalEnvironment) Object 19 Constant object 104289c3e030 (global) Object 20 Constant object 104289c41148 (Math) Object 21 Constant object 104289c41148 (Math) Object 22 GuardObjectIdentity ← Constant#20, Constant#21 Object 23 Constant function sin at 104289c6c350 Object 24 Constant 0x1 Int32 25 Constant function sin at 104289c6c350 Object 26 GuardSpecificFunction ← Constant#23, Constant#25 Object 27 Unbox Parameter#1 to Double (fallible) Double 28 MathFunction ← Unbox#27 Sin (native) Double 29 Add ← Sqrt#17, MathFunction#28 [double] Double 30 Constant object 104289c3f040 (LexicalEnvironment) Object 31 Constant object 104289c3e030 (global) Object 32 Constant object 104289c41148 (Math) Object 33 Constant object 104289c41148 (Math) Object 34 GuardObjectIdentity ← Constant#32, Constant#33 Object 35 Constant function cos at 104289c6c0b0 Object 36 Constant 0x1 Int32 37 Constant function cos at 104289c6c0b0 Object 38 GuardSpecificFunction ← Constant#35, Constant#37 Object 39 Unbox Parameter#1 to Double (fallible) Double 40 MathFunction ← Unbox#39 Cos (native) Double 41 Add ← Add#29, MathFunction#40 [double] Double 42 Constant object 104289c3f040 (LexicalEnvironment) Object 43 Constant object 104289c3e030 (global) Object 44 Constant object 104289c41148 (Math) Object 45 Constant object 104289c41148 (Math) Object 46 GuardObjectIdentity ← Constant#44, Constant#45 Object 47 Constant function tan at 104289c6c3c0 Object 48 Constant 0x1 Int32 49 Constant function tan at 104289c6c3c0 Object 50 GuardSpecificFunction ← Constant#47, Constant#49 Object 51 Unbox Parameter#1 to Double (fallible) Double 52 MathFunction ← Unbox#51 Tan (native) Double 53 Add ← Add#41, MathFunction#52 [double] Double 54 Constant object 104289c3f040 (LexicalEnvironment) Object 55 Constant object 104289c3e030 (global) Object 56 Constant object 104289c41148 (Math) Object 57 Constant object 104289c41148 (Math) Object 58 GuardObjectIdentity ← Constant#56, Constant#57 Object 59 Constant function abs at 104289c63ee8 Object 60 Constant 0x1 Int32 61 Constant function abs at 104289c63ee8 Object 62 GuardSpecificFunction ← Constant#59, Constant#61 Object 63 Unbox Parameter#1 to Double (fallible) Double 64 Abs ← Unbox#63 Double 65 Add ← Add#53, Abs#64 [double] Double 66 Constant object 104289c3f040 (LexicalEnvironment) Object 67 Constant object 104289c3e030 (global) Object 68 Constant object 104289c41148 (Math) Object 69 Constant object 104289c41148 (Math) Object 70 GuardObjectIdentity ← Constant#68, Constant#69 Object 71 Constant function floor at 104289c6c120 Object 72 Constant 0x1 Int32 73 Constant function floor at 104289c6c120 Object 74 GuardSpecificFunction ← Constant#71, Constant#73 Object 75 Unbox Parameter#1 to Double (fallible) Double 76 NearbyInt ← Unbox#75 (down) Double 77 Add ← Add#65, NearbyInt#76 [double] Double 78 Constant object 104289c3f040 (LexicalEnvironment) Object 79 Constant object 104289c3e030 (global) Object 80 Constant object 104289c41148 (Math) Object 81 Constant object 104289c41148 (Math) Object 82 GuardObjectIdentity ← Constant#80, Constant#81 Object 83 Constant function ceil at 104289c6c040 Object 84 Constant 0x1 Int32 85 Constant function ceil at 104289c6c040 Object 86 GuardSpecificFunction ← Constant#83, Constant#85 Object 87 Unbox Parameter#1 to Double (fallible) Double 88 NearbyInt ← Unbox#87 (up) Double 89 Add ← Add#77, NearbyInt#88 [double] Double 90 Constant object 104289c3f040 (LexicalEnvironment) Object 91 Constant object 104289c3e030 (global) Object 92 Constant object 104289c41148 (Math) Object 93 Constant object 104289c41148 (Math) Object 94 GuardObjectIdentity ← Constant#92, Constant#93 Object 95 Constant function round at 104289c6c318 Object 96 Constant 0x1 Int32 97 Constant function round at 104289c6c318 Object 98 GuardSpecificFunction ← Constant#95, Constant#97 Object 99 Unbox Parameter#1 to Double (fallible) Double 100 RoundToDouble ← Unbox#99 Double 101 Add ← Add#89, RoundToDouble#100 [double] Double 102 Constant object 104289c3f040 (LexicalEnvironment) Object 103 Constant object 104289c3e030 (global) Object 104 Constant object 104289c41148 (Math) Object 105 Constant object 104289c41148 (Math) Object 106 GuardObjectIdentity ← Constant#104, Constant#105 Object 107 Constant function log at 104289c6c200 Object 108 Constant 0x1 Int32 109 Unbox Parameter#1 to Double (fallible) Double 110 Add ← Unbox#109, Constant#108 [double] Double 111 Constant 0x1 Int32 112 Constant function log at 104289c6c200 Object 113 GuardSpecificFunction ← Constant#107, Constant#112 Object 114 MathFunction ← Add#110 Log Double 115 Add ← Add#101, MathFunction#114 [double] Double 116 Return ← Add#115
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant object 104289c3f040 (LexicalEnvironment) Object 6 Constant object 104289c3e030 (global) Object 7 Constant object 104289c41148 (Math) Object 8 Constant object 104289c41148 (Math) Object 9 GuardObjectIdentity ← Constant#7, Constant#8 Object 10 Constant function sqrt at 104289c6c388 Object 11 Unbox Parameter#1 to Double (fallible) Double 12 Unbox Parameter#1 to Double (fallible) Double 13 Mul ← Unbox#11, Unbox#12 [double] Double 14 Constant 0x1 Int32 15 Constant function sqrt at 104289c6c388 Object 16 GuardSpecificFunction ← Constant#10, Constant#15 Object 17 Sqrt ← Mul#13 Double 18 Constant object 104289c3f040 (LexicalEnvironment) Object 19 Constant object 104289c3e030 (global) Object 20 Constant object 104289c41148 (Math) Object 21 Constant object 104289c41148 (Math) Object 22 GuardObjectIdentity ← Constant#20, Constant#21 Object 23 Constant function sin at 104289c6c350 Object 24 Constant 0x1 Int32 25 Constant function sin at 104289c6c350 Object 26 GuardSpecificFunction ← Constant#23, Constant#25 Object 27 Unbox Parameter#1 to Double (fallible) Double 28 MathFunction ← Unbox#27 Sin (native) Double 29 Add ← Sqrt#17, MathFunction#28 [double] Double 30 Constant object 104289c3f040 (LexicalEnvironment) Object 31 Constant object 104289c3e030 (global) Object 32 Constant object 104289c41148 (Math) Object 33 Constant object 104289c41148 (Math) Object 34 GuardObjectIdentity ← Constant#32, Constant#33 Object 35 Constant function cos at 104289c6c0b0 Object 36 Constant 0x1 Int32 37 Constant function cos at 104289c6c0b0 Object 38 GuardSpecificFunction ← Constant#35, Constant#37 Object 39 Unbox Parameter#1 to Double (fallible) Double 40 MathFunction ← Unbox#39 Cos (native) Double 41 Add ← Add#29, MathFunction#40 [double] Double 42 Constant object 104289c3f040 (LexicalEnvironment) Object 43 Constant object 104289c3e030 (global) Object 44 Constant object 104289c41148 (Math) Object 45 Constant object 104289c41148 (Math) Object 46 GuardObjectIdentity ← Constant#44, Constant#45 Object 47 Constant function tan at 104289c6c3c0 Object 48 Constant 0x1 Int32 49 Constant function tan at 104289c6c3c0 Object 50 GuardSpecificFunction ← Constant#47, Constant#49 Object 51 Unbox Parameter#1 to Double (fallible) Double 52 MathFunction ← Unbox#51 Tan (native) Double 53 Add ← Add#41, MathFunction#52 [double] Double 54 Constant object 104289c3f040 (LexicalEnvironment) Object 55 Constant object 104289c3e030 (global) Object 56 Constant object 104289c41148 (Math) Object 57 Constant object 104289c41148 (Math) Object 58 GuardObjectIdentity ← Constant#56, Constant#57 Object 59 Constant function abs at 104289c63ee8 Object 60 Constant 0x1 Int32 61 Constant function abs at 104289c63ee8 Object 62 GuardSpecificFunction ← Constant#59, Constant#61 Object 63 Unbox Parameter#1 to Double (fallible) Double 64 Abs ← Unbox#63 Double 65 Add ← Add#53, Abs#64 [double] Double 66 Constant object 104289c3f040 (LexicalEnvironment) Object 67 Constant object 104289c3e030 (global) Object 68 Constant object 104289c41148 (Math) Object 69 Constant object 104289c41148 (Math) Object 70 GuardObjectIdentity ← Constant#68, Constant#69 Object 71 Constant function floor at 104289c6c120 Object 72 Constant 0x1 Int32 73 Constant function floor at 104289c6c120 Object 74 GuardSpecificFunction ← Constant#71, Constant#73 Object 75 Unbox Parameter#1 to Double (fallible) Double 76 NearbyInt ← Unbox#75 (down) Double 77 Add ← Add#65, NearbyInt#76 [double] Double 78 Constant object 104289c3f040 (LexicalEnvironment) Object 79 Constant object 104289c3e030 (global) Object 80 Constant object 104289c41148 (Math) Object 81 Constant object 104289c41148 (Math) Object 82 GuardObjectIdentity ← Constant#80, Constant#81 Object 83 Constant function ceil at 104289c6c040 Object 84 Constant 0x1 Int32 85 Constant function ceil at 104289c6c040 Object 86 GuardSpecificFunction ← Constant#83, Constant#85 Object 87 Unbox Parameter#1 to Double (fallible) Double 88 NearbyInt ← Unbox#87 (up) Double 89 Add ← Add#77, NearbyInt#88 [double] Double 90 Constant object 104289c3f040 (LexicalEnvironment) Object 91 Constant object 104289c3e030 (global) Object 92 Constant object 104289c41148 (Math) Object 93 Constant object 104289c41148 (Math) Object 94 GuardObjectIdentity ← Constant#92, Constant#93 Object 95 Constant function round at 104289c6c318 Object 96 Constant 0x1 Int32 97 Constant function round at 104289c6c318 Object 98 GuardSpecificFunction ← Constant#95, Constant#97 Object 99 Unbox Parameter#1 to Double (fallible) Double 100 RoundToDouble ← Unbox#99 Double 101 Add ← Add#89, RoundToDouble#100 [double] Double 102 Constant object 104289c3f040 (LexicalEnvironment) Object 103 Constant object 104289c3e030 (global) Object 104 Constant object 104289c41148 (Math) Object 105 Constant object 104289c41148 (Math) Object 106 GuardObjectIdentity ← Constant#104, Constant#105 Object 107 Constant function log at 104289c6c200 Object 108 Constant 0x1 Int32 109 Unbox Parameter#1 to Double (fallible) Double 110 Add ← Unbox#109, Constant#108 [double] Double 111 Constant 0x1 Int32 112 Constant function log at 104289c6c200 Object 113 GuardSpecificFunction ← Constant#107, Constant#112 Object 114 MathFunction ← Add#110 Log Double 115 Add ← Add#101, MathFunction#114 [double] Double 116 Return ← Add#115
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant object 104289c3f040 (LexicalEnvironment) Object 6 Constant object 104289c3e030 (global) Object 7 Constant object 104289c41148 (Math) Object 8 Constant object 104289c41148 (Math) Object 9 GuardObjectIdentity ← Constant#7, Constant#8 Object 10 Constant function sqrt at 104289c6c388 Object 11 Unbox Parameter#1 to Double (fallible) Double 12 Unbox Parameter#1 to Double (fallible) Double 13 Mul ← Unbox#11, Unbox#12 [double] Double 14 Constant 0x1 Int32 15 Constant function sqrt at 104289c6c388 Object 16 GuardSpecificFunction ← Constant#10, Constant#15 Object 17 Sqrt ← Mul#13 Double 18 Constant object 104289c3f040 (LexicalEnvironment) Object 19 Constant object 104289c3e030 (global) Object 20 Constant object 104289c41148 (Math) Object 21 Constant object 104289c41148 (Math) Object 22 GuardObjectIdentity ← Constant#20, Constant#21 Object 23 Constant function sin at 104289c6c350 Object 24 Constant 0x1 Int32 25 Constant function sin at 104289c6c350 Object 26 GuardSpecificFunction ← Constant#23, Constant#25 Object 27 Unbox Parameter#1 to Double (fallible) Double 28 MathFunction ← Unbox#27 Sin (native) Double 29 Add ← Sqrt#17, MathFunction#28 [double] Double 30 Constant object 104289c3f040 (LexicalEnvironment) Object 31 Constant object 104289c3e030 (global) Object 32 Constant object 104289c41148 (Math) Object 33 Constant object 104289c41148 (Math) Object 34 GuardObjectIdentity ← Constant#32, Constant#33 Object 35 Constant function cos at 104289c6c0b0 Object 36 Constant 0x1 Int32 37 Constant function cos at 104289c6c0b0 Object 38 GuardSpecificFunction ← Constant#35, Constant#37 Object 39 Unbox Parameter#1 to Double (fallible) Double 40 MathFunction ← Unbox#39 Cos (native) Double 41 Add ← Add#29, MathFunction#40 [double] Double 42 Constant object 104289c3f040 (LexicalEnvironment) Object 43 Constant object 104289c3e030 (global) Object 44 Constant object 104289c41148 (Math) Object 45 Constant object 104289c41148 (Math) Object 46 GuardObjectIdentity ← Constant#44, Constant#45 Object 47 Constant function tan at 104289c6c3c0 Object 48 Constant 0x1 Int32 49 Constant function tan at 104289c6c3c0 Object 50 GuardSpecificFunction ← Constant#47, Constant#49 Object 51 Unbox Parameter#1 to Double (fallible) Double 52 MathFunction ← Unbox#51 Tan (native) Double 53 Add ← Add#41, MathFunction#52 [double] Double 54 Constant object 104289c3f040 (LexicalEnvironment) Object 55 Constant object 104289c3e030 (global) Object 56 Constant object 104289c41148 (Math) Object 57 Constant object 104289c41148 (Math) Object 58 GuardObjectIdentity ← Constant#56, Constant#57 Object 59 Constant function abs at 104289c63ee8 Object 60 Constant 0x1 Int32 61 Constant function abs at 104289c63ee8 Object 62 GuardSpecificFunction ← Constant#59, Constant#61 Object 63 Unbox Parameter#1 to Double (fallible) Double 64 Abs ← Unbox#63 Double 65 Add ← Add#53, Abs#64 [double] Double 66 Constant object 104289c3f040 (LexicalEnvironment) Object 67 Constant object 104289c3e030 (global) Object 68 Constant object 104289c41148 (Math) Object 69 Constant object 104289c41148 (Math) Object 70 GuardObjectIdentity ← Constant#68, Constant#69 Object 71 Constant function floor at 104289c6c120 Object 72 Constant 0x1 Int32 73 Constant function floor at 104289c6c120 Object 74 GuardSpecificFunction ← Constant#71, Constant#73 Object 75 Unbox Parameter#1 to Double (fallible) Double 76 NearbyInt ← Unbox#75 (down) Double 77 Add ← Add#65, NearbyInt#76 [double] Double 78 Constant object 104289c3f040 (LexicalEnvironment) Object 79 Constant object 104289c3e030 (global) Object 80 Constant object 104289c41148 (Math) Object 81 Constant object 104289c41148 (Math) Object 82 GuardObjectIdentity ← Constant#80, Constant#81 Object 83 Constant function ceil at 104289c6c040 Object 84 Constant 0x1 Int32 85 Constant function ceil at 104289c6c040 Object 86 GuardSpecificFunction ← Constant#83, Constant#85 Object 87 Unbox Parameter#1 to Double (fallible) Double 88 NearbyInt ← Unbox#87 (up) Double 89 Add ← Add#77, NearbyInt#88 [double] Double 90 Constant object 104289c3f040 (LexicalEnvironment) Object 91 Constant object 104289c3e030 (global) Object 92 Constant object 104289c41148 (Math) Object 93 Constant object 104289c41148 (Math) Object 94 GuardObjectIdentity ← Constant#92, Constant#93 Object 95 Constant function round at 104289c6c318 Object 96 Constant 0x1 Int32 97 Constant function round at 104289c6c318 Object 98 GuardSpecificFunction ← Constant#95, Constant#97 Object 99 Unbox Parameter#1 to Double (fallible) Double 100 RoundToDouble ← Unbox#99 Double 101 Add ← Add#89, RoundToDouble#100 [double] Double 102 Constant object 104289c3f040 (LexicalEnvironment) Object 103 Constant object 104289c3e030 (global) Object 104 Constant object 104289c41148 (Math) Object 105 Constant object 104289c41148 (Math) Object 106 GuardObjectIdentity ← Constant#104, Constant#105 Object 107 Constant function log at 104289c6c200 Object 108 Constant 0x1 Int32 109 Unbox Parameter#1 to Double (fallible) Double 110 Add ← Unbox#109, Constant#108 [double] Double 111 Constant 0x1 Int32 112 Constant function log at 104289c6c200 Object 113 GuardSpecificFunction ← Constant#107, Constant#112 Object 114 MathFunction ← Add#110 Log Double 115 Add ← Add#101, MathFunction#114 [double] Double 116 Return ← Add#115
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant object 104289c3f040 (LexicalEnvironment) Object 6 Constant object 104289c3e030 (global) Object 7 Constant object 104289c41148 (Math) Object 8 Constant object 104289c41148 (Math) Object 9 GuardObjectIdentity ← Constant#7, Constant#8 Object 10 Constant function sqrt at 104289c6c388 Object 11 Unbox Parameter#1 to Double (fallible) Double 12 Unbox Parameter#1 to Double (fallible) Double 13 Mul ← Unbox#11, Unbox#12 [double] Double 14 Constant 0x1 Int32 15 Constant function sqrt at 104289c6c388 Object 16 GuardSpecificFunction ← Constant#10, Constant#15 Object 17 Sqrt ← Mul#13 Double 18 Constant object 104289c3f040 (LexicalEnvironment) Object 19 Constant object 104289c3e030 (global) Object 20 Constant object 104289c41148 (Math) Object 21 Constant object 104289c41148 (Math) Object 22 GuardObjectIdentity ← Constant#20, Constant#21 Object 23 Constant function sin at 104289c6c350 Object 24 Constant 0x1 Int32 25 Constant function sin at 104289c6c350 Object 26 GuardSpecificFunction ← Constant#23, Constant#25 Object 27 Unbox Parameter#1 to Double (fallible) Double 28 MathFunction ← Unbox#27 Sin (native) Double 29 Add ← Sqrt#17, MathFunction#28 [double] Double 30 Constant object 104289c3f040 (LexicalEnvironment) Object 31 Constant object 104289c3e030 (global) Object 32 Constant object 104289c41148 (Math) Object 33 Constant object 104289c41148 (Math) Object 34 GuardObjectIdentity ← Constant#32, Constant#33 Object 35 Constant function cos at 104289c6c0b0 Object 36 Constant 0x1 Int32 37 Constant function cos at 104289c6c0b0 Object 38 GuardSpecificFunction ← Constant#35, Constant#37 Object 39 Unbox Parameter#1 to Double (fallible) Double 40 MathFunction ← Unbox#39 Cos (native) Double 41 Add ← Add#29, MathFunction#40 [double] Double 42 Constant object 104289c3f040 (LexicalEnvironment) Object 43 Constant object 104289c3e030 (global) Object 44 Constant object 104289c41148 (Math) Object 45 Constant object 104289c41148 (Math) Object 46 GuardObjectIdentity ← Constant#44, Constant#45 Object 47 Constant function tan at 104289c6c3c0 Object 48 Constant 0x1 Int32 49 Constant function tan at 104289c6c3c0 Object 50 GuardSpecificFunction ← Constant#47, Constant#49 Object 51 Unbox Parameter#1 to Double (fallible) Double 52 MathFunction ← Unbox#51 Tan (native) Double 53 Add ← Add#41, MathFunction#52 [double] Double 54 Constant object 104289c3f040 (LexicalEnvironment) Object 55 Constant object 104289c3e030 (global) Object 56 Constant object 104289c41148 (Math) Object 57 Constant object 104289c41148 (Math) Object 58 GuardObjectIdentity ← Constant#56, Constant#57 Object 59 Constant function abs at 104289c63ee8 Object 60 Constant 0x1 Int32 61 Constant function abs at 104289c63ee8 Object 62 GuardSpecificFunction ← Constant#59, Constant#61 Object 63 Unbox Parameter#1 to Double (fallible) Double 64 Abs ← Unbox#63 Double 65 Add ← Add#53, Abs#64 [double] Double 66 Constant object 104289c3f040 (LexicalEnvironment) Object 67 Constant object 104289c3e030 (global) Object 68 Constant object 104289c41148 (Math) Object 69 Constant object 104289c41148 (Math) Object 70 GuardObjectIdentity ← Constant#68, Constant#69 Object 71 Constant function floor at 104289c6c120 Object 72 Constant 0x1 Int32 73 Constant function floor at 104289c6c120 Object 74 GuardSpecificFunction ← Constant#71, Constant#73 Object 75 Unbox Parameter#1 to Double (fallible) Double 76 NearbyInt ← Unbox#75 (down) Double 77 Add ← Add#65, NearbyInt#76 [double] Double 78 Constant object 104289c3f040 (LexicalEnvironment) Object 79 Constant object 104289c3e030 (global) Object 80 Constant object 104289c41148 (Math) Object 81 Constant object 104289c41148 (Math) Object 82 GuardObjectIdentity ← Constant#80, Constant#81 Object 83 Constant function ceil at 104289c6c040 Object 84 Constant 0x1 Int32 85 Constant function ceil at 104289c6c040 Object 86 GuardSpecificFunction ← Constant#83, Constant#85 Object 87 Unbox Parameter#1 to Double (fallible) Double 88 NearbyInt ← Unbox#87 (up) Double 89 Add ← Add#77, NearbyInt#88 [double] Double 90 Constant object 104289c3f040 (LexicalEnvironment) Object 91 Constant object 104289c3e030 (global) Object 92 Constant object 104289c41148 (Math) Object 93 Constant object 104289c41148 (Math) Object 94 GuardObjectIdentity ← Constant#92, Constant#93 Object 95 Constant function round at 104289c6c318 Object 96 Constant 0x1 Int32 97 Constant function round at 104289c6c318 Object 98 GuardSpecificFunction ← Constant#95, Constant#97 Object 99 Unbox Parameter#1 to Double (fallible) Double 100 RoundToDouble ← Unbox#99 Double 101 Add ← Add#89, RoundToDouble#100 [double] Double 102 Constant object 104289c3f040 (LexicalEnvironment) Object 103 Constant object 104289c3e030 (global) Object 104 Constant object 104289c41148 (Math) Object 105 Constant object 104289c41148 (Math) Object 106 GuardObjectIdentity ← Constant#104, Constant#105 Object 107 Constant function log at 104289c6c200 Object 108 Constant 0x1 Int32 109 Unbox Parameter#1 to Double (fallible) Double 110 Add ← Unbox#109, Constant#108 [double] Double 111 Constant 0x1 Int32 112 Constant function log at 104289c6c200 Object 113 GuardSpecificFunction ← Constant#107, Constant#112 Object 114 MathFunction ← Add#110 Log Double 115 Add ← Add#101, MathFunction#114 [double] Double 116 Return ← Add#115
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant object 104289c3f040 (LexicalEnvironment) Object 6 Constant object 104289c3e030 (global) Object 7 Constant object 104289c41148 (Math) Object 8 Constant object 104289c41148 (Math) Object 9 GuardObjectIdentity ← Constant#7, Constant#8 Object 10 Constant function sqrt at 104289c6c388 Object 11 Unbox Parameter#1 to Double (fallible) Double 12 Unbox Parameter#1 to Double (fallible) Double 13 Mul ← Unbox#11, Unbox#12 [double] Double 14 Constant 0x1 Int32 15 Constant function sqrt at 104289c6c388 Object 16 GuardSpecificFunction ← Constant#10, Constant#15 Object 17 Sqrt ← Mul#13 Double 18 Constant object 104289c3f040 (LexicalEnvironment) Object 19 Constant object 104289c3e030 (global) Object 20 Constant object 104289c41148 (Math) Object 21 Constant object 104289c41148 (Math) Object 22 GuardObjectIdentity ← Constant#20, Constant#21 Object 23 Constant function sin at 104289c6c350 Object 24 Constant 0x1 Int32 25 Constant function sin at 104289c6c350 Object 26 GuardSpecificFunction ← Constant#23, Constant#25 Object 27 Unbox Parameter#1 to Double (fallible) Double 28 MathFunction ← Unbox#27 Sin (native) Double 29 Add ← Sqrt#17, MathFunction#28 [double] Double 30 Constant object 104289c3f040 (LexicalEnvironment) Object 31 Constant object 104289c3e030 (global) Object 32 Constant object 104289c41148 (Math) Object 33 Constant object 104289c41148 (Math) Object 34 GuardObjectIdentity ← Constant#32, Constant#33 Object 35 Constant function cos at 104289c6c0b0 Object 36 Constant 0x1 Int32 37 Constant function cos at 104289c6c0b0 Object 38 GuardSpecificFunction ← Constant#35, Constant#37 Object 39 Unbox Parameter#1 to Double (fallible) Double 40 MathFunction ← Unbox#39 Cos (native) Double 41 Add ← Add#29, MathFunction#40 [double] Double 42 Constant object 104289c3f040 (LexicalEnvironment) Object 43 Constant object 104289c3e030 (global) Object 44 Constant object 104289c41148 (Math) Object 45 Constant object 104289c41148 (Math) Object 46 GuardObjectIdentity ← Constant#44, Constant#45 Object 47 Constant function tan at 104289c6c3c0 Object 48 Constant 0x1 Int32 49 Constant function tan at 104289c6c3c0 Object 50 GuardSpecificFunction ← Constant#47, Constant#49 Object 51 Unbox Parameter#1 to Double (fallible) Double 52 MathFunction ← Unbox#51 Tan (native) Double 53 Add ← Add#41, MathFunction#52 [double] Double 54 Constant object 104289c3f040 (LexicalEnvironment) Object 55 Constant object 104289c3e030 (global) Object 56 Constant object 104289c41148 (Math) Object 57 Constant object 104289c41148 (Math) Object 58 GuardObjectIdentity ← Constant#56, Constant#57 Object 59 Constant function abs at 104289c63ee8 Object 60 Constant 0x1 Int32 61 Constant function abs at 104289c63ee8 Object 62 GuardSpecificFunction ← Constant#59, Constant#61 Object 63 Unbox Parameter#1 to Double (fallible) Double 64 Abs ← Unbox#63 Double 65 Add ← Add#53, Abs#64 [double] Double 66 Constant object 104289c3f040 (LexicalEnvironment) Object 67 Constant object 104289c3e030 (global) Object 68 Constant object 104289c41148 (Math) Object 69 Constant object 104289c41148 (Math) Object 70 GuardObjectIdentity ← Constant#68, Constant#69 Object 71 Constant function floor at 104289c6c120 Object 72 Constant 0x1 Int32 73 Constant function floor at 104289c6c120 Object 74 GuardSpecificFunction ← Constant#71, Constant#73 Object 75 Unbox Parameter#1 to Double (fallible) Double 76 NearbyInt ← Unbox#75 (down) Double 77 Add ← Add#65, NearbyInt#76 [double] Double 78 Constant object 104289c3f040 (LexicalEnvironment) Object 79 Constant object 104289c3e030 (global) Object 80 Constant object 104289c41148 (Math) Object 81 Constant object 104289c41148 (Math) Object 82 GuardObjectIdentity ← Constant#80, Constant#81 Object 83 Constant function ceil at 104289c6c040 Object 84 Constant 0x1 Int32 85 Constant function ceil at 104289c6c040 Object 86 GuardSpecificFunction ← Constant#83, Constant#85 Object 87 Unbox Parameter#1 to Double (fallible) Double 88 NearbyInt ← Unbox#87 (up) Double 89 Add ← Add#77, NearbyInt#88 [double] Double 90 Constant object 104289c3f040 (LexicalEnvironment) Object 91 Constant object 104289c3e030 (global) Object 92 Constant object 104289c41148 (Math) Object 93 Constant object 104289c41148 (Math) Object 94 GuardObjectIdentity ← Constant#92, Constant#93 Object 95 Constant function round at 104289c6c318 Object 96 Constant 0x1 Int32 97 Constant function round at 104289c6c318 Object 98 GuardSpecificFunction ← Constant#95, Constant#97 Object 99 Unbox Parameter#1 to Double (fallible) Double 100 RoundToDouble ← Unbox#99 Double 101 Add ← Add#89, RoundToDouble#100 [double] Double 102 Constant object 104289c3f040 (LexicalEnvironment) Object 103 Constant object 104289c3e030 (global) Object 104 Constant object 104289c41148 (Math) Object 105 Constant object 104289c41148 (Math) Object 106 GuardObjectIdentity ← Constant#104, Constant#105 Object 107 Constant function log at 104289c6c200 Object 108 Constant 0x1 Int32 109 Unbox Parameter#1 to Double (fallible) Double 117 ToDouble ← Constant#108 Double 110 Add ← Unbox#109, ToDouble#117 [double] Double 111 Constant 0x1 Int32 112 Constant function log at 104289c6c200 Object 113 GuardSpecificFunction ← Constant#107, Constant#112 Object 114 MathFunction ← Add#110 Log Double 115 Add ← Add#101, MathFunction#114 [double] Double 118 Box ← Add#115 Value 116 Return ← Box#118
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant object 104289c3f040 (LexicalEnvironment) Object 6 Constant object 104289c3e030 (global) Object 7 Constant object 104289c41148 (Math) Object 8 Constant object 104289c41148 (Math) Object 9 GuardObjectIdentity ← Constant#7, Constant#8 Object 10 Constant function sqrt at 104289c6c388 Object 11 Unbox Parameter#1 to Double (fallible) Double 12 Unbox Parameter#1 to Double (fallible) Double 13 Mul ← Unbox#11, Unbox#12 [double] Double 14 Constant 0x1 Int32 15 Constant function sqrt at 104289c6c388 Object 16 GuardSpecificFunction ← Constant#10, Constant#15 Object 17 Sqrt ← Mul#13 Double 18 Constant object 104289c3f040 (LexicalEnvironment) Object 19 Constant object 104289c3e030 (global) Object 20 Constant object 104289c41148 (Math) Object 21 Constant object 104289c41148 (Math) Object 22 GuardObjectIdentity ← Constant#20, Constant#21 Object 23 Constant function sin at 104289c6c350 Object 24 Constant 0x1 Int32 25 Constant function sin at 104289c6c350 Object 26 GuardSpecificFunction ← Constant#23, Constant#25 Object 27 Unbox Parameter#1 to Double (fallible) Double 28 MathFunction ← Unbox#27 Sin (native) Double 29 Add ← Sqrt#17, MathFunction#28 [double] Double 30 Constant object 104289c3f040 (LexicalEnvironment) Object 31 Constant object 104289c3e030 (global) Object 32 Constant object 104289c41148 (Math) Object 33 Constant object 104289c41148 (Math) Object 34 GuardObjectIdentity ← Constant#32, Constant#33 Object 35 Constant function cos at 104289c6c0b0 Object 36 Constant 0x1 Int32 37 Constant function cos at 104289c6c0b0 Object 38 GuardSpecificFunction ← Constant#35, Constant#37 Object 39 Unbox Parameter#1 to Double (fallible) Double 40 MathFunction ← Unbox#39 Cos (native) Double 41 Add ← Add#29, MathFunction#40 [double] Double 42 Constant object 104289c3f040 (LexicalEnvironment) Object 43 Constant object 104289c3e030 (global) Object 44 Constant object 104289c41148 (Math) Object 45 Constant object 104289c41148 (Math) Object 46 GuardObjectIdentity ← Constant#44, Constant#45 Object 47 Constant function tan at 104289c6c3c0 Object 48 Constant 0x1 Int32 49 Constant function tan at 104289c6c3c0 Object 50 GuardSpecificFunction ← Constant#47, Constant#49 Object 51 Unbox Parameter#1 to Double (fallible) Double 52 MathFunction ← Unbox#51 Tan (native) Double 53 Add ← Add#41, MathFunction#52 [double] Double 54 Constant object 104289c3f040 (LexicalEnvironment) Object 55 Constant object 104289c3e030 (global) Object 56 Constant object 104289c41148 (Math) Object 57 Constant object 104289c41148 (Math) Object 58 GuardObjectIdentity ← Constant#56, Constant#57 Object 59 Constant function abs at 104289c63ee8 Object 60 Constant 0x1 Int32 61 Constant function abs at 104289c63ee8 Object 62 GuardSpecificFunction ← Constant#59, Constant#61 Object 63 Unbox Parameter#1 to Double (fallible) Double 64 Abs ← Unbox#63 Double 65 Add ← Add#53, Abs#64 [double] Double 66 Constant object 104289c3f040 (LexicalEnvironment) Object 67 Constant object 104289c3e030 (global) Object 68 Constant object 104289c41148 (Math) Object 69 Constant object 104289c41148 (Math) Object 70 GuardObjectIdentity ← Constant#68, Constant#69 Object 71 Constant function floor at 104289c6c120 Object 72 Constant 0x1 Int32 73 Constant function floor at 104289c6c120 Object 74 GuardSpecificFunction ← Constant#71, Constant#73 Object 75 Unbox Parameter#1 to Double (fallible) Double 76 NearbyInt ← Unbox#75 (down) Double 77 Add ← Add#65, NearbyInt#76 [double] Double 78 Constant object 104289c3f040 (LexicalEnvironment) Object 79 Constant object 104289c3e030 (global) Object 80 Constant object 104289c41148 (Math) Object 81 Constant object 104289c41148 (Math) Object 82 GuardObjectIdentity ← Constant#80, Constant#81 Object 83 Constant function ceil at 104289c6c040 Object 84 Constant 0x1 Int32 85 Constant function ceil at 104289c6c040 Object 86 GuardSpecificFunction ← Constant#83, Constant#85 Object 87 Unbox Parameter#1 to Double (fallible) Double 88 NearbyInt ← Unbox#87 (up) Double 89 Add ← Add#77, NearbyInt#88 [double] Double 90 Constant object 104289c3f040 (LexicalEnvironment) Object 91 Constant object 104289c3e030 (global) Object 92 Constant object 104289c41148 (Math) Object 93 Constant object 104289c41148 (Math) Object 94 GuardObjectIdentity ← Constant#92, Constant#93 Object 95 Constant function round at 104289c6c318 Object 96 Constant 0x1 Int32 97 Constant function round at 104289c6c318 Object 98 GuardSpecificFunction ← Constant#95, Constant#97 Object 99 Unbox Parameter#1 to Double (fallible) Double 100 RoundToDouble ← Unbox#99 Double 101 Add ← Add#89, RoundToDouble#100 [double] Double 102 Constant object 104289c3f040 (LexicalEnvironment) Object 103 Constant object 104289c3e030 (global) Object 104 Constant object 104289c41148 (Math) Object 105 Constant object 104289c41148 (Math) Object 106 GuardObjectIdentity ← Constant#104, Constant#105 Object 107 Constant function log at 104289c6c200 Object 108 Constant 0x1 Int32 109 Unbox Parameter#1 to Double (fallible) Double 110 ToDouble ← Constant#108 Double 111 Add ← Unbox#109, ToDouble#110 [double] Double 112 Constant 0x1 Int32 113 Constant function log at 104289c6c200 Object 114 GuardSpecificFunction ← Constant#107, Constant#113 Object 115 MathFunction ← Add#111 Log Double 116 Add ← Add#101, MathFunction#115 [double] Double 117 Box ← Add#116 Value 118 Return ← Box#117
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant object 104289c3f040 (LexicalEnvironment) Object 6 Constant object 104289c3e030 (global) Object 7 Constant object 104289c41148 (Math) Object 8 Constant object 104289c41148 (Math) Object 9 GuardObjectIdentity ← Constant#7, Constant#8 Object 10 Constant function sqrt at 104289c6c388 Object 11 Unbox Parameter#1 to Double (fallible) Double 12 Unbox Parameter#1 to Double (fallible) Double 13 Mul ← Unbox#11, Unbox#12 [double] Double 14 Constant 0x1 Int32 15 Constant function sqrt at 104289c6c388 Object 16 GuardSpecificFunction ← Constant#10, Constant#15 Object 17 Sqrt ← Mul#13 Double 18 Constant object 104289c3f040 (LexicalEnvironment) Object 19 Constant object 104289c3e030 (global) Object 20 Constant object 104289c41148 (Math) Object 21 Constant object 104289c41148 (Math) Object 22 GuardObjectIdentity ← Constant#20, Constant#21 Object 23 Constant function sin at 104289c6c350 Object 24 Constant 0x1 Int32 25 Constant function sin at 104289c6c350 Object 26 GuardSpecificFunction ← Constant#23, Constant#25 Object 27 Unbox Parameter#1 to Double (fallible) Double 28 MathFunction ← Unbox#27 Sin (native) Double 29 Add ← Sqrt#17, MathFunction#28 [double] Double 30 Constant object 104289c3f040 (LexicalEnvironment) Object 31 Constant object 104289c3e030 (global) Object 32 Constant object 104289c41148 (Math) Object 33 Constant object 104289c41148 (Math) Object 34 GuardObjectIdentity ← Constant#32, Constant#33 Object 35 Constant function cos at 104289c6c0b0 Object 36 Constant 0x1 Int32 37 Constant function cos at 104289c6c0b0 Object 38 GuardSpecificFunction ← Constant#35, Constant#37 Object 39 Unbox Parameter#1 to Double (fallible) Double 40 MathFunction ← Unbox#39 Cos (native) Double 41 Add ← Add#29, MathFunction#40 [double] Double 42 Constant object 104289c3f040 (LexicalEnvironment) Object 43 Constant object 104289c3e030 (global) Object 44 Constant object 104289c41148 (Math) Object 45 Constant object 104289c41148 (Math) Object 46 GuardObjectIdentity ← Constant#44, Constant#45 Object 47 Constant function tan at 104289c6c3c0 Object 48 Constant 0x1 Int32 49 Constant function tan at 104289c6c3c0 Object 50 GuardSpecificFunction ← Constant#47, Constant#49 Object 51 Unbox Parameter#1 to Double (fallible) Double 52 MathFunction ← Unbox#51 Tan (native) Double 53 Add ← Add#41, MathFunction#52 [double] Double 54 Constant object 104289c3f040 (LexicalEnvironment) Object 55 Constant object 104289c3e030 (global) Object 56 Constant object 104289c41148 (Math) Object 57 Constant object 104289c41148 (Math) Object 58 GuardObjectIdentity ← Constant#56, Constant#57 Object 59 Constant function abs at 104289c63ee8 Object 60 Constant 0x1 Int32 61 Constant function abs at 104289c63ee8 Object 62 GuardSpecificFunction ← Constant#59, Constant#61 Object 63 Unbox Parameter#1 to Double (fallible) Double 64 Abs ← Unbox#63 Double 65 Add ← Add#53, Abs#64 [double] Double 66 Constant object 104289c3f040 (LexicalEnvironment) Object 67 Constant object 104289c3e030 (global) Object 68 Constant object 104289c41148 (Math) Object 69 Constant object 104289c41148 (Math) Object 70 GuardObjectIdentity ← Constant#68, Constant#69 Object 71 Constant function floor at 104289c6c120 Object 72 Constant 0x1 Int32 73 Constant function floor at 104289c6c120 Object 74 GuardSpecificFunction ← Constant#71, Constant#73 Object 75 Unbox Parameter#1 to Double (fallible) Double 76 NearbyInt ← Unbox#75 (down) Double 77 Add ← Add#65, NearbyInt#76 [double] Double 78 Constant object 104289c3f040 (LexicalEnvironment) Object 79 Constant object 104289c3e030 (global) Object 80 Constant object 104289c41148 (Math) Object 81 Constant object 104289c41148 (Math) Object 82 GuardObjectIdentity ← Constant#80, Constant#81 Object 83 Constant function ceil at 104289c6c040 Object 84 Constant 0x1 Int32 85 Constant function ceil at 104289c6c040 Object 86 GuardSpecificFunction ← Constant#83, Constant#85 Object 87 Unbox Parameter#1 to Double (fallible) Double 88 NearbyInt ← Unbox#87 (up) Double 89 Add ← Add#77, NearbyInt#88 [double] Double 90 Constant object 104289c3f040 (LexicalEnvironment) Object 91 Constant object 104289c3e030 (global) Object 92 Constant object 104289c41148 (Math) Object 93 Constant object 104289c41148 (Math) Object 94 GuardObjectIdentity ← Constant#92, Constant#93 Object 95 Constant function round at 104289c6c318 Object 96 Constant 0x1 Int32 97 Constant function round at 104289c6c318 Object 98 GuardSpecificFunction ← Constant#95, Constant#97 Object 99 Unbox Parameter#1 to Double (fallible) Double 100 RoundToDouble ← Unbox#99 Double 101 Add ← Add#89, RoundToDouble#100 [double] Double 102 Constant object 104289c3f040 (LexicalEnvironment) Object 103 Constant object 104289c3e030 (global) Object 104 Constant object 104289c41148 (Math) Object 105 Constant object 104289c41148 (Math) Object 106 GuardObjectIdentity ← Constant#104, Constant#105 Object 107 Constant function log at 104289c6c200 Object 108 Constant 0x1 Int32 109 Unbox Parameter#1 to Double (fallible) Double 110 ToDouble ← Constant#108 Double 111 Add ← Unbox#109, ToDouble#110 [double] Double 112 Constant 0x1 Int32 113 Constant function log at 104289c6c200 Object 114 GuardSpecificFunction ← Constant#107, Constant#113 Object 115 MathFunction ← Add#111 Log Double 116 Add ← Add#101, MathFunction#115 [double] Double 117 Box ← Add#116 Value 118 Return ← Box#117
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 11 Unbox Parameter#1 to Double (fallible) Double 13 Mul ← Unbox#11, Unbox#11 [double] Double 17 Sqrt ← Mul#13 Double 28 MathFunction ← Unbox#11 Sin (native) Double 29 Add ← Sqrt#17, MathFunction#28 [double] Double 40 MathFunction ← Unbox#11 Cos (native) Double 41 Add ← Add#29, MathFunction#40 [double] Double 52 MathFunction ← Unbox#11 Tan (native) Double 53 Add ← Add#41, MathFunction#52 [double] Double 64 Abs ← Unbox#11 Double 65 Add ← Add#53, Abs#64 [double] Double 76 NearbyInt ← Unbox#11 (down) Double 77 Add ← Add#65, NearbyInt#76 [double] Double 88 NearbyInt ← Unbox#11 (up) Double 89 Add ← Add#77, NearbyInt#88 [double] Double 100 RoundToDouble ← Unbox#11 Double 101 Add ← Add#89, RoundToDouble#100 [double] Double 119 Constant 1 Double 111 Add ← Unbox#11, Constant#119 [double] Double 115 MathFunction ← Add#111 Log Double 116 Add ← Add#101, MathFunction#115 [double] Double 117 Box ← Add#116 Value 118 Return ← Box#117
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 11 Unbox Parameter#1 to Double (fallible) Double 13 Mul ← Unbox#11, Unbox#11 [double] Double 17 Sqrt ← Mul#13 Double 28 MathFunction ← Unbox#11 Sin (native) Double 29 Add ← Sqrt#17, MathFunction#28 [double] Double 40 MathFunction ← Unbox#11 Cos (native) Double 41 Add ← Add#29, MathFunction#40 [double] Double 52 MathFunction ← Unbox#11 Tan (native) Double 53 Add ← Add#41, MathFunction#52 [double] Double 64 Abs ← Unbox#11 Double 65 Add ← Add#53, Abs#64 [double] Double 76 NearbyInt ← Unbox#11 (down) Double 77 Add ← Add#65, NearbyInt#76 [double] Double 88 NearbyInt ← Unbox#11 (up) Double 89 Add ← Add#77, NearbyInt#88 [double] Double 100 RoundToDouble ← Unbox#11 Double 101 Add ← Add#89, RoundToDouble#100 [double] Double 119 Constant 1 Double 111 Add ← Unbox#11, Constant#119 [double] Double 115 MathFunction ← Add#111 Log Double 116 Add ← Add#101, MathFunction#115 [double] Double 117 Box ← Add#116 Value 118 Return ← Box#117
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 11 Unbox Parameter#1 to Double (fallible) Double 13 Mul ← Unbox#11, Unbox#11 [double] Double 17 Sqrt ← Mul#13 Double 28 MathFunction ← Unbox#11 Sin (native) Double 29 Add ← Sqrt#17, MathFunction#28 [double] Double 40 MathFunction ← Unbox#11 Cos (native) Double 41 Add ← Add#29, MathFunction#40 [double] Double 52 MathFunction ← Unbox#11 Tan (native) Double 53 Add ← Add#41, MathFunction#52 [double] Double 64 Abs ← Unbox#11 Double 65 Add ← Add#53, Abs#64 [double] Double 76 NearbyInt ← Unbox#11 (down) Double 77 Add ← Add#65, NearbyInt#76 [double] Double 88 NearbyInt ← Unbox#11 (up) Double 89 Add ← Add#77, NearbyInt#88 [double] Double 100 RoundToDouble ← Unbox#11 Double 101 Add ← Add#89, RoundToDouble#100 [double] Double 119 Constant 1 Double 111 Add ← Unbox#11, Constant#119 [double] Double 115 MathFunction ← Add#111 Log Double 116 Add ← Add#101, MathFunction#115 [double] Double 117 Box ← Add#116 Value 118 Return ← Box#117
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 11 Unbox Parameter#1 to Double (fallible) Double 13 Mul ← Unbox#11, Unbox#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 17 Sqrt ← Mul#13 Double 28 MathFunction ← Unbox#11 Sin (native) Double 29 Add ← Sqrt#17, MathFunction#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 40 MathFunction ← Unbox#11 Cos (native) Double 41 Add ← Add#29, MathFunction#40 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 52 MathFunction ← Unbox#11 Tan (native) Double 53 Add ← Add#41, MathFunction#52 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 64 Abs ← Unbox#11 F[0, ?] (U NaN U Infinity): Double 65 Add ← Add#53, Abs#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 76 NearbyInt ← Unbox#11 (down) Double 77 Add ← Add#65, NearbyInt#76 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 88 NearbyInt ← Unbox#11 (up) Double 89 Add ← Add#77, NearbyInt#88 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 100 RoundToDouble ← Unbox#11 Double 101 Add ← Add#89, RoundToDouble#100 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 119 Constant 1 I[1, 1]: Double 111 Add ← Unbox#11, Constant#119 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 115 MathFunction ← Add#111 Log Double 116 Add ← Add#101, MathFunction#115 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 117 Box ← Add#116 Value 118 Return ← Box#117
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 11 Unbox Parameter#1 to Double (fallible) Double 13 Mul ← Unbox#11, Unbox#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 17 Sqrt ← Mul#13 Double 28 MathFunction ← Unbox#11 Sin (native) Double 29 Add ← Sqrt#17, MathFunction#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 40 MathFunction ← Unbox#11 Cos (native) Double 41 Add ← Add#29, MathFunction#40 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 52 MathFunction ← Unbox#11 Tan (native) Double 53 Add ← Add#41, MathFunction#52 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 64 Abs ← Unbox#11 F[0, ?] (U NaN U Infinity): Double 65 Add ← Add#53, Abs#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 76 NearbyInt ← Unbox#11 (down) Double 77 Add ← Add#65, NearbyInt#76 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 88 NearbyInt ← Unbox#11 (up) Double 89 Add ← Add#77, NearbyInt#88 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 100 RoundToDouble ← Unbox#11 Double 101 Add ← Add#89, RoundToDouble#100 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 119 Constant 1 I[1, 1]: Double 111 Add ← Unbox#11, Constant#119 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 115 MathFunction ← Add#111 Log Double 116 Add ← Add#101, MathFunction#115 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 117 Box ← Add#116 Value 118 Return ← Box#117
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 11 Unbox Parameter#1 to Double (fallible) Double 13 Mul ← Unbox#11, Unbox#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 17 Sqrt ← Mul#13 Double 28 MathFunction ← Unbox#11 Sin (native) Double 29 Add ← Sqrt#17, MathFunction#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 40 MathFunction ← Unbox#11 Cos (native) Double 41 Add ← Add#29, MathFunction#40 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 52 MathFunction ← Unbox#11 Tan (native) Double 53 Add ← Add#41, MathFunction#52 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 64 Abs ← Unbox#11 F[0, ?] (U NaN U Infinity): Double 65 Add ← Add#53, Abs#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 76 NearbyInt ← Unbox#11 (down) Double 77 Add ← Add#65, NearbyInt#76 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 88 NearbyInt ← Unbox#11 (up) Double 89 Add ← Add#77, NearbyInt#88 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 100 RoundToDouble ← Unbox#11 Double 101 Add ← Add#89, RoundToDouble#100 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 119 Constant 1 I[1, 1]: Double 111 Add ← Unbox#11, Constant#119 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 115 MathFunction ← Add#111 Log Double 116 Add ← Add#101, MathFunction#115 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 117 Box ← Add#116 Value 118 Return ← Box#117
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 11 Unbox Parameter#1 to Double (fallible) Double 13 Mul ← Unbox#11, Unbox#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 17 Sqrt ← Mul#13 Double 28 MathFunction ← Unbox#11 Sin (native) Double 29 Add ← Sqrt#17, MathFunction#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 40 MathFunction ← Unbox#11 Cos (native) Double 41 Add ← Add#29, MathFunction#40 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 52 MathFunction ← Unbox#11 Tan (native) Double 53 Add ← Add#41, MathFunction#52 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 64 Abs ← Unbox#11 F[0, ?] (U NaN U Infinity): Double 65 Add ← Add#53, Abs#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 76 NearbyInt ← Unbox#11 (down) Double 77 Add ← Add#65, NearbyInt#76 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 88 NearbyInt ← Unbox#11 (up) Double 89 Add ← Add#77, NearbyInt#88 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 100 RoundToDouble ← Unbox#11 Double 101 Add ← Add#89, RoundToDouble#100 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 119 Constant 1 I[1, 1]: Double 111 Add ← Unbox#11, Constant#119 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 115 MathFunction ← Add#111 Log Double 116 Add ← Add#101, MathFunction#115 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 117 Box ← Add#116 Value 118 Return ← Box#117
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 11 Unbox Parameter#1 to Double (fallible) Double 13 Mul ← Unbox#11, Unbox#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 17 Sqrt ← Mul#13 Double 28 MathFunction ← Unbox#11 Sin (native) Double 29 Add ← Sqrt#17, MathFunction#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 40 MathFunction ← Unbox#11 Cos (native) Double 41 Add ← Add#29, MathFunction#40 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 52 MathFunction ← Unbox#11 Tan (native) Double 53 Add ← Add#41, MathFunction#52 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 64 Abs ← Unbox#11 F[0, ?] (U NaN U Infinity): Double 65 Add ← Add#53, Abs#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 76 NearbyInt ← Unbox#11 (down) Double 77 Add ← Add#65, NearbyInt#76 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 88 NearbyInt ← Unbox#11 (up) Double 89 Add ← Add#77, NearbyInt#88 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 100 RoundToDouble ← Unbox#11 Double 101 Add ← Add#89, RoundToDouble#100 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 119 Constant 1 I[1, 1]: Double 111 Add ← Unbox#11, Constant#119 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 115 MathFunction ← Add#111 Log Double 116 Add ← Add#101, MathFunction#115 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 117 Box ← Add#116 Value 118 Return ← Box#117
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 11 Unbox Parameter#1 to Double (fallible) Double 13 Mul ← Unbox#11, Unbox#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 17 Sqrt ← Mul#13 Double 28 MathFunction ← Unbox#11 Sin (native) Double 29 Add ← Sqrt#17, MathFunction#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 40 MathFunction ← Unbox#11 Cos (native) Double 41 Add ← Add#29, MathFunction#40 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 52 MathFunction ← Unbox#11 Tan (native) Double 53 Add ← Add#41, MathFunction#52 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 64 Abs ← Unbox#11 F[0, ?] (U NaN U Infinity): Double 65 Add ← Add#53, Abs#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 76 NearbyInt ← Unbox#11 (down) Double 77 Add ← Add#65, NearbyInt#76 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 88 NearbyInt ← Unbox#11 (up) Double 89 Add ← Add#77, NearbyInt#88 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 100 RoundToDouble ← Unbox#11 Double 101 Add ← Add#89, RoundToDouble#100 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 119 Constant 1 I[1, 1]: Double 111 Add ← Unbox#11, Constant#119 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 115 MathFunction ← Add#111 Log Double 116 Add ← Add#101, MathFunction#115 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 117 Box ← Add#116 Value 118 Return ← Box#117
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 11 Unbox Parameter#1 to Double (fallible) Double 13 Mul ← Unbox#11, Unbox#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 17 Sqrt ← Mul#13 Double 28 MathFunction ← Unbox#11 Sin (native) Double 29 Add ← Sqrt#17, MathFunction#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 40 MathFunction ← Unbox#11 Cos (native) Double 41 Add ← Add#29, MathFunction#40 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 52 MathFunction ← Unbox#11 Tan (native) Double 53 Add ← Add#41, MathFunction#52 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 64 Abs ← Unbox#11 F[0, ?] (U NaN U Infinity): Double 65 Add ← Add#53, Abs#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 76 NearbyInt ← Unbox#11 (down) Double 77 Add ← Add#65, NearbyInt#76 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 88 NearbyInt ← Unbox#11 (up) Double 89 Add ← Add#77, NearbyInt#88 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 100 RoundToDouble ← Unbox#11 Double 101 Add ← Add#89, RoundToDouble#100 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 119 Constant 1 I[1, 1]: Double 111 Add ← Unbox#11, Constant#119 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 115 MathFunction ← Add#111 Log Double 116 Add ← Add#101, MathFunction#115 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 117 Box ← Add#116 Value 118 Return ← Box#117
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 11 Unbox Parameter#1 to Double (fallible) Double 13 Mul ← Unbox#11, Unbox#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 17 Sqrt ← Mul#13 Double 28 MathFunction ← Unbox#11 Sin (native) Double 29 Add ← Sqrt#17, MathFunction#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 40 MathFunction ← Unbox#11 Cos (native) Double 41 Add ← Add#29, MathFunction#40 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 52 MathFunction ← Unbox#11 Tan (native) Double 53 Add ← Add#41, MathFunction#52 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 64 Abs ← Unbox#11 F[0, ?] (U NaN U Infinity): Double 65 Add ← Add#53, Abs#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 76 NearbyInt ← Unbox#11 (down) Double 77 Add ← Add#65, NearbyInt#76 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 88 NearbyInt ← Unbox#11 (up) Double 89 Add ← Add#77, NearbyInt#88 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 100 RoundToDouble ← Unbox#11 Double 101 Add ← Add#89, RoundToDouble#100 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 119 Constant 1 I[1, 1]: Double 111 Add ← Unbox#11, Constant#119 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 115 MathFunction ← Add#111 Log Double 116 Add ← Add#101, MathFunction#115 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 117 Box ← Add#116 Value 118 Return ← Box#117
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Unbox Parameter#1 to Double (fallible) Double 6 Mul ← Unbox#5, Unbox#5 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 7 Sqrt ← Mul#6 Double 8 MathFunction ← Unbox#5 Sin (native) Double 9 Add ← Sqrt#7, MathFunction#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 10 MathFunction ← Unbox#5 Cos (native) Double 11 Add ← Add#9, MathFunction#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 12 MathFunction ← Unbox#5 Tan (native) Double 13 Add ← Add#11, MathFunction#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 14 Abs ← Unbox#5 F[0, ?] (U NaN U Infinity): Double 15 Add ← Add#13, Abs#14 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 16 NearbyInt ← Unbox#5 (down) Double 17 Add ← Add#15, NearbyInt#16 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 18 NearbyInt ← Unbox#5 (up) Double 19 Add ← Add#17, NearbyInt#18 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 20 RoundToDouble ← Unbox#5 Double 21 Add ← Add#19, RoundToDouble#20 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 22 Constant 1 I[1, 1]: Double 23 Add ← Unbox#5, Constant#22 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 24 MathFunction ← Add#23 Log Double 25 Add ← Add#21, MathFunction#24 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 26 Box ← Add#25 Value 27 Return ← Box#26
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Unbox Parameter#1 to Double (fallible) Double 6 Mul ← Unbox#5, Unbox#5 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 7 Sqrt ← Mul#6 Double 8 MathFunction ← Unbox#5 Sin (native) Double 9 Add ← Sqrt#7, MathFunction#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 10 MathFunction ← Unbox#5 Cos (native) Double 11 Add ← Add#9, MathFunction#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 12 MathFunction ← Unbox#5 Tan (native) Double 13 Add ← Add#11, MathFunction#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 14 Abs ← Unbox#5 F[0, ?] (U NaN U Infinity): Double 15 Add ← Add#13, Abs#14 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 16 NearbyInt ← Unbox#5 (down) Double 17 Add ← Add#15, NearbyInt#16 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 18 NearbyInt ← Unbox#5 (up) Double 19 Add ← Add#17, NearbyInt#18 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 20 RoundToDouble ← Unbox#5 Double 21 Add ← Add#19, RoundToDouble#20 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 22 Constant 1 I[1, 1]: Double 23 Add ← Unbox#5, Constant#22 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 24 MathFunction ← Add#23 Log Double 25 Add ← Add#21, MathFunction#24 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 26 Box ← Add#25 Value 27 Return ← Box#26
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Unbox Parameter#1 to Double (fallible) Double 6 Mul ← Unbox#5, Unbox#5 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 7 Sqrt ← Mul#6 Double 8 MathFunction ← Unbox#5 Sin (native) Double 9 Add ← Sqrt#7, MathFunction#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 10 MathFunction ← Unbox#5 Cos (native) Double 11 Add ← Add#9, MathFunction#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 12 MathFunction ← Unbox#5 Tan (native) Double 13 Add ← Add#11, MathFunction#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 14 Abs ← Unbox#5 F[0, ?] (U NaN U Infinity): Double 15 Add ← Add#13, Abs#14 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 16 NearbyInt ← Unbox#5 (down) Double 17 Add ← Add#15, NearbyInt#16 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 18 NearbyInt ← Unbox#5 (up) Double 19 Add ← Add#17, NearbyInt#18 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 20 RoundToDouble ← Unbox#5 Double 21 Add ← Add#19, RoundToDouble#20 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 22 Constant 1 I[1, 1]: Double 23 Add ← Unbox#5, Constant#22 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 24 MathFunction ← Add#23 Log Double 25 Add ← Add#21, MathFunction#24 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 26 Box ← Add#25 Value 27 Return ← Box#26
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Unbox Parameter#1 to Double (fallible) Double 6 Mul ← Unbox#5, Unbox#5 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 7 Sqrt ← Mul#6 Double 8 MathFunction ← Unbox#5 Sin (native) Double 9 Add ← Sqrt#7, MathFunction#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 10 MathFunction ← Unbox#5 Cos (native) Double 11 Add ← Add#9, MathFunction#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 12 MathFunction ← Unbox#5 Tan (native) Double 13 Add ← Add#11, MathFunction#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 14 Abs ← Unbox#5 F[0, ?] (U NaN U Infinity): Double 15 Add ← Add#13, Abs#14 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 16 NearbyInt ← Unbox#5 (down) Double 17 Add ← Add#15, NearbyInt#16 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 18 NearbyInt ← Unbox#5 (up) Double 19 Add ← Add#17, NearbyInt#18 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 20 RoundToDouble ← Unbox#5 Double 21 Add ← Add#19, RoundToDouble#20 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 22 Constant 1 I[1, 1]: Double 23 Add ← Unbox#5, Constant#22 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 24 MathFunction ← Add#23 Log Double 25 Add ← Add#21, MathFunction#24 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 26 Box ← Add#25 Value 27 Return ← Box#26
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Unbox Parameter#1 to Double (fallible) Double 6 Mul ← Unbox#5, Unbox#5 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 7 Sqrt ← Mul#6 Double 8 MathFunction ← Unbox#5 Sin (native) Double 9 Add ← Sqrt#7, MathFunction#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 10 MathFunction ← Unbox#5 Cos (native) Double 11 Add ← Add#9, MathFunction#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 12 MathFunction ← Unbox#5 Tan (native) Double 13 Add ← Add#11, MathFunction#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 14 Abs ← Unbox#5 F[0, ?] (U NaN U Infinity): Double 15 Add ← Add#13, Abs#14 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 16 NearbyInt ← Unbox#5 (down) Double 17 Add ← Add#15, NearbyInt#16 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 18 NearbyInt ← Unbox#5 (up) Double 19 Add ← Add#17, NearbyInt#18 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 20 RoundToDouble ← Unbox#5 Double 21 Add ← Add#19, RoundToDouble#20 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 22 Constant 1 I[1, 1]: Double 23 Add ← Unbox#5, Constant#22 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 24 MathFunction ← Add#23 Log Double 25 Add ← Add#21, MathFunction#24 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 26 Box ← Add#25 Value 27 Return ← Box#26
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Unbox Parameter#1 to Double (fallible) Double 6 Mul ← Unbox#5, Unbox#5 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 7 Sqrt ← Mul#6 Double 8 MathFunction ← Unbox#5 Sin (native) Double 9 Add ← Sqrt#7, MathFunction#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 10 MathFunction ← Unbox#5 Cos (native) Double 11 Add ← Add#9, MathFunction#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 12 MathFunction ← Unbox#5 Tan (native) Double 13 Add ← Add#11, MathFunction#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 14 Abs ← Unbox#5 F[0, ?] (U NaN U Infinity): Double 15 Add ← Add#13, Abs#14 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 16 NearbyInt ← Unbox#5 (down) Double 17 Add ← Add#15, NearbyInt#16 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 18 NearbyInt ← Unbox#5 (up) Double 19 Add ← Add#17, NearbyInt#18 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 20 RoundToDouble ← Unbox#5 Double 21 Add ← Add#19, RoundToDouble#20 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 22 Constant 1 I[1, 1]: Double 23 Add ← Unbox#5, Constant#22 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 24 MathFunction ← Add#23 Log Double 25 Add ← Add#21, MathFunction#24 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 26 Box ← Add#25 Value 27 Return ← Box#26
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Unbox Parameter#1 to Double (fallible) Double 6 Mul ← Unbox#5, Unbox#5 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 7 Sqrt ← Mul#6 Double 8 MathFunction ← Unbox#5 Sin (native) Double 9 Add ← Sqrt#7, MathFunction#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 10 MathFunction ← Unbox#5 Cos (native) Double 11 Add ← Add#9, MathFunction#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 12 MathFunction ← Unbox#5 Tan (native) Double 13 Add ← Add#11, MathFunction#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 14 Abs ← Unbox#5 F[0, ?] (U NaN U Infinity): Double 15 Add ← Add#13, Abs#14 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 16 NearbyInt ← Unbox#5 (down) Double 17 Add ← Add#15, NearbyInt#16 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 18 NearbyInt ← Unbox#5 (up) Double 19 Add ← Add#17, NearbyInt#18 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 20 RoundToDouble ← Unbox#5 Double 21 Add ← Add#19, RoundToDouble#20 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 22 Constant 1 I[1, 1]: Double 23 Add ← Unbox#5, Constant#22 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 24 MathFunction ← Add#23 Log Double 25 Add ← Add#21, MathFunction#24 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 26 Box ← Add#25 Value 27 Return ← Box#26
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Unbox Parameter#1 to Double (fallible) Double 6 Mul ← Unbox#5, Unbox#5 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 7 Sqrt ← Mul#6 Double 8 MathFunction ← Unbox#5 Sin (native) Double 9 Add ← Sqrt#7, MathFunction#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 10 MathFunction ← Unbox#5 Cos (native) Double 11 Add ← Add#9, MathFunction#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 12 MathFunction ← Unbox#5 Tan (native) Double 13 Add ← Add#11, MathFunction#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 14 Abs ← Unbox#5 F[0, ?] (U NaN U Infinity): Double 15 Add ← Add#13, Abs#14 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 16 NearbyInt ← Unbox#5 (down) Double 17 Add ← Add#15, NearbyInt#16 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 18 NearbyInt ← Unbox#5 (up) Double 19 Add ← Add#17, NearbyInt#18 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 20 RoundToDouble ← Unbox#5 Double 21 Add ← Add#19, RoundToDouble#20 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 22 Constant 1 I[1, 1]: Double 23 Add ← Unbox#5, Constant#22 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 24 MathFunction ← Add#23 Log Double 25 Add ← Add#21, MathFunction#24 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 26 Box ← Add#25 Value 27 Return ← Box#26
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Unbox Parameter#1 to Double (fallible) Double 6 Mul ← Unbox#5, Unbox#5 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 7 Sqrt ← Mul#6 Double 8 MathFunction ← Unbox#5 Sin (native) Double 9 Add ← Sqrt#7, MathFunction#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 10 MathFunction ← Unbox#5 Cos (native) Double 11 Add ← Add#9, MathFunction#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 12 MathFunction ← Unbox#5 Tan (native) Double 13 Add ← Add#11, MathFunction#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 14 Abs ← Unbox#5 F[0, ?] (U NaN U Infinity): Double 15 Add ← Add#13, Abs#14 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 16 NearbyInt ← Unbox#5 (down) Double 17 Add ← Add#15, NearbyInt#16 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 18 NearbyInt ← Unbox#5 (up) Double 19 Add ← Add#17, NearbyInt#18 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 20 RoundToDouble ← Unbox#5 Double 21 Add ← Add#19, RoundToDouble#20 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 22 Constant 1 I[1, 1]: Double 23 Add ← Unbox#5, Constant#22 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 24 MathFunction ← Add#23 Log Double 25 Add ← Add#21, MathFunction#24 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 26 Box ← Add#25 Value 27 Return ← Box#26
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Unbox Parameter#1 to Double (fallible) Double 6 Mul ← Unbox#5, Unbox#5 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 7 Sqrt ← Mul#6 Double 8 MathFunction ← Unbox#5 Sin (native) Double 9 Add ← Sqrt#7, MathFunction#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 10 MathFunction ← Unbox#5 Cos (native) Double 11 Add ← Add#9, MathFunction#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 12 MathFunction ← Unbox#5 Tan (native) Double 13 Add ← Add#11, MathFunction#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 14 Abs ← Unbox#5 F[0, ?] (U NaN U Infinity): Double 15 Add ← Add#13, Abs#14 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 16 NearbyInt ← Unbox#5 (down) Double 17 Add ← Add#15, NearbyInt#16 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 18 NearbyInt ← Unbox#5 (up) Double 19 Add ← Add#17, NearbyInt#18 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 20 RoundToDouble ← Unbox#5 Double 21 Add ← Add#19, RoundToDouble#20 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 22 Constant 1 I[1, 1]: Double 23 Add ← Unbox#5, Constant#22 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 24 MathFunction ← Add#23 Log Double 25 Add ← Add#21, MathFunction#24 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 26 Box ← Add#25 Value 27 Return ← Box#26
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] Double 10 Unbox Parameter#1 to Double (fallible) Double 11 Unbox Parameter#2 to Double (fallible) Double 12 Sub ← Unbox#10, Unbox#11 [double] Double 13 Unbox Parameter#1 to Double (fallible) Double 14 Unbox Parameter#2 to Double (fallible) Double 15 Mul ← Unbox#13, Unbox#14 [double] Double 16 Unbox Parameter#2 to Double (fallible) Double 17 Not ← Unbox#16 Bool 18 Not ← Not#17 Bool 19 Test ← Not#18 → block 2, block 1 1 0 Block 1 20 Constant 0x1 Int32 21 Goto → block 2 Block 2 22 Phi ← Constant#20, Parameter#2 Value 23 Unbox Parameter#1 to Double (fallible) Double 24 Unbox Phi#22 to Double (fallible) Double 25 Div ← Unbox#23, Unbox#24 [double] Double 26 Unbox Parameter#2 to Double (fallible) Double 27 Not ← Unbox#26 Bool 28 Not ← Not#27 Bool 29 Test ← Not#28 → block 4, block 3 1 0 Block 3 30 Constant 0x1 Int32 31 Goto → block 4 Block 4 32 Phi ← Constant#30, Parameter#2 Value 33 Unbox Parameter#1 to Double (fallible) Double 34 Unbox Phi#32 to Double (fallible) Double 35 Mod ← Unbox#33, Unbox#34 [double] Double 36 Constant 0x2 Int32 37 Unbox Parameter#1 to Double (fallible) Double 38 Pow ← Unbox#37, Constant#36 Double 39 Constant 0x2 Int32 40 Unbox Parameter#2 to Double (fallible) Double 41 Pow ← Unbox#40, Constant#39 Double 42 Add ← Add#9, Sub#12 [double] Double 43 Add ← Add#42, Mul#15 [double] Double 44 Add ← Add#43, Div#25 [double] Double 45 Add ← Add#44, Mod#35 [double] Double 46 Add ← Add#45, Pow#38 [double] Double 47 Add ← Add#46, Pow#41 [double] Double 48 Constant 0x0 Int32 49 Compare ← Add#47, Constant#48 Gt Bool 50 Test ← Compare#49 → block 5, block 6 1 0 Block 5 51 Goto → block 7 Block 6 52 Constant -1 Double 53 Mul ← Add#47, Constant#52 [double] Double 54 Goto → block 7 Block 7 55 Phi ← Mul#53, Add#47 Double 56 Return ← Phi#55
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] Double 10 Unbox Parameter#1 to Double (fallible) Double 11 Unbox Parameter#2 to Double (fallible) Double 12 Sub ← Unbox#10, Unbox#11 [double] Double 13 Unbox Parameter#1 to Double (fallible) Double 14 Unbox Parameter#2 to Double (fallible) Double 15 Mul ← Unbox#13, Unbox#14 [double] Double 16 Unbox Parameter#2 to Double (fallible) Double 17 Not ← Unbox#16 Bool 18 Not ← Not#17 Bool 19 Test ← Not#18 → block 2, block 1 1 0 Block 1 20 Constant 0x1 Int32 21 Goto → block 2 Block 2 22 Phi ← Constant#20, Parameter#2 Value 23 Unbox Parameter#1 to Double (fallible) Double 24 Unbox Phi#22 to Double (fallible) Double 25 Div ← Unbox#23, Unbox#24 [double] Double 26 Unbox Parameter#2 to Double (fallible) Double 27 Not ← Unbox#26 Bool 28 Not ← Not#27 Bool 29 Test ← Not#28 → block 4, block 3 1 0 Block 3 30 Constant 0x1 Int32 31 Goto → block 4 Block 4 32 Phi ← Constant#30, Parameter#2 Value 33 Unbox Parameter#1 to Double (fallible) Double 34 Unbox Phi#32 to Double (fallible) Double 35 Mod ← Unbox#33, Unbox#34 [double] Double 36 Constant 0x2 Int32 37 Unbox Parameter#1 to Double (fallible) Double 38 Pow ← Unbox#37, Constant#36 Double 39 Constant 0x2 Int32 40 Unbox Parameter#2 to Double (fallible) Double 41 Pow ← Unbox#40, Constant#39 Double 42 Add ← Add#9, Sub#12 [double] Double 43 Add ← Add#42, Mul#15 [double] Double 44 Add ← Add#43, Div#25 [double] Double 45 Add ← Add#44, Mod#35 [double] Double 46 Add ← Add#45, Pow#38 [double] Double 47 Add ← Add#46, Pow#41 [double] Double 48 Constant 0x0 Int32 49 Compare ← Add#47, Constant#48 Gt Bool 50 Test ← Compare#49 → block 5, block 6 1 0 Block 5 51 Goto → block 7 Block 6 52 Constant -1 Double 53 Mul ← Add#47, Constant#52 [double] Double 54 Goto → block 7 Block 7 55 Phi ← Mul#53, Add#47 Double 56 Return ← Phi#55
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] Double 10 Unbox Parameter#1 to Double (fallible) Double 11 Unbox Parameter#2 to Double (fallible) Double 12 Sub ← Unbox#10, Unbox#11 [double] Double 13 Unbox Parameter#1 to Double (fallible) Double 14 Unbox Parameter#2 to Double (fallible) Double 15 Mul ← Unbox#13, Unbox#14 [double] Double 16 Unbox Parameter#2 to Double (fallible) Double 17 Not ← Unbox#16 Bool 18 Not ← Not#17 Bool 19 Test ← Not#18 → block 2, block 1 1 0 Block 1 20 Constant 0x1 Int32 21 Goto → block 2 Block 2 22 Phi ← Constant#20, Parameter#2 Value 23 Unbox Parameter#1 to Double (fallible) Double 24 Unbox Phi#22 to Double (fallible) Double 25 Div ← Unbox#23, Unbox#24 [double] Double 26 Unbox Parameter#2 to Double (fallible) Double 27 Not ← Unbox#26 Bool 28 Not ← Not#27 Bool 29 Test ← Not#28 → block 4, block 3 1 0 Block 3 30 Constant 0x1 Int32 31 Goto → block 4 Block 4 32 Phi ← Constant#30, Parameter#2 Value 33 Unbox Parameter#1 to Double (fallible) Double 34 Unbox Phi#32 to Double (fallible) Double 35 Mod ← Unbox#33, Unbox#34 [double] Double 36 Constant 0x2 Int32 37 Unbox Parameter#1 to Double (fallible) Double 38 Pow ← Unbox#37, Constant#36 Double 39 Constant 0x2 Int32 40 Unbox Parameter#2 to Double (fallible) Double 41 Pow ← Unbox#40, Constant#39 Double 42 Add ← Add#9, Sub#12 [double] Double 43 Add ← Add#42, Mul#15 [double] Double 44 Add ← Add#43, Div#25 [double] Double 45 Add ← Add#44, Mod#35 [double] Double 46 Add ← Add#45, Pow#38 [double] Double 47 Add ← Add#46, Pow#41 [double] Double 48 Constant 0x0 Int32 49 Compare ← Add#47, Constant#48 Gt Bool 50 Test ← Compare#49 → block 5, block 6 1 0 Block 5 51 Goto → block 7 Block 6 52 Constant -1 Double 53 Mul ← Add#47, Constant#52 [double] Double 54 Goto → block 7 Block 7 55 Phi ← Mul#53, Add#47 Double 56 Return ← Phi#55
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] Double 10 Unbox Parameter#1 to Double (fallible) Double 11 Unbox Parameter#2 to Double (fallible) Double 12 Sub ← Unbox#10, Unbox#11 [double] Double 13 Unbox Parameter#1 to Double (fallible) Double 14 Unbox Parameter#2 to Double (fallible) Double 15 Mul ← Unbox#13, Unbox#14 [double] Double 16 Unbox Parameter#2 to Double (fallible) Double 17 Not ← Unbox#16 Bool 18 Not ← Not#17 Bool 19 Test ← Not#18 → block 2, block 1 1 0 Block 1 57 Constant magic optimized-out MagicOptimizedOut 20 Constant 0x1 Int32 21 Goto → block 2 Block 2 22 Phi ← Constant#20, Parameter#2 Value 23 Unbox Parameter#1 to Double (fallible) Double 24 Unbox Phi#22 to Double (fallible) Double 25 Div ← Unbox#23, Unbox#24 [double] Double 26 Unbox Parameter#2 to Double (fallible) Double 27 Not ← Unbox#26 Bool 28 Not ← Not#27 Bool 29 Test ← Not#28 → block 4, block 3 1 0 Block 3 58 Constant magic optimized-out MagicOptimizedOut 30 Constant 0x1 Int32 31 Goto → block 4 Block 4 32 Phi ← Constant#30, Parameter#2 Value 33 Unbox Parameter#1 to Double (fallible) Double 34 Unbox Phi#32 to Double (fallible) Double 35 Mod ← Unbox#33, Unbox#34 [double] Double 36 Constant 0x2 Int32 37 Unbox Parameter#1 to Double (fallible) Double 38 Pow ← Unbox#37, Constant#36 Double 39 Constant 0x2 Int32 40 Unbox Parameter#2 to Double (fallible) Double 41 Pow ← Unbox#40, Constant#39 Double 42 Add ← Add#9, Sub#12 [double] Double 43 Add ← Add#42, Mul#15 [double] Double 44 Add ← Add#43, Div#25 [double] Double 45 Add ← Add#44, Mod#35 [double] Double 46 Add ← Add#45, Pow#38 [double] Double 47 Add ← Add#46, Pow#41 [double] Double 48 Constant 0x0 Int32 49 Compare ← Add#47, Constant#48 Gt Bool 50 Test ← Compare#49 → block 5, block 6 1 0 Block 5 51 Goto → block 7 Block 6 52 Constant -1 Double 53 Mul ← Add#47, Constant#52 [double] Double 54 Goto → block 7 Block 7 55 Phi ← Mul#53, Add#47 Double 56 Return ← Phi#55
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] Double 10 Unbox Parameter#1 to Double (fallible) Double 11 Unbox Parameter#2 to Double (fallible) Double 12 Sub ← Unbox#10, Unbox#11 [double] Double 13 Unbox Parameter#1 to Double (fallible) Double 14 Unbox Parameter#2 to Double (fallible) Double 15 Mul ← Unbox#13, Unbox#14 [double] Double 16 Unbox Parameter#2 to Double (fallible) Double 17 Not ← Unbox#16 Bool 18 Not ← Not#17 Bool 19 Test ← Not#18 → block 2, block 1 1 0 Block 1 57 Constant magic optimized-out MagicOptimizedOut 20 Constant 0x1 Int32 21 Goto → block 2 Block 2 22 Phi ← Constant#20, Parameter#2 Value 23 Unbox Parameter#1 to Double (fallible) Double 24 Unbox Phi#22 to Double (fallible) Double 25 Div ← Unbox#23, Unbox#24 [double] Double 26 Unbox Parameter#2 to Double (fallible) Double 27 Not ← Unbox#26 Bool 28 Not ← Not#27 Bool 29 Test ← Not#28 → block 4, block 3 1 0 Block 3 58 Constant magic optimized-out MagicOptimizedOut 30 Constant 0x1 Int32 31 Goto → block 4 Block 4 32 Phi ← Constant#30, Parameter#2 Value 33 Unbox Parameter#1 to Double (fallible) Double 34 Unbox Phi#32 to Double (fallible) Double 35 Mod ← Unbox#33, Unbox#34 [double] Double 36 Constant 0x2 Int32 37 Unbox Parameter#1 to Double (fallible) Double 38 Pow ← Unbox#37, Constant#36 Double 39 Constant 0x2 Int32 40 Unbox Parameter#2 to Double (fallible) Double 41 Pow ← Unbox#40, Constant#39 Double 42 Add ← Add#9, Sub#12 [double] Double 43 Add ← Add#42, Mul#15 [double] Double 44 Add ← Add#43, Div#25 [double] Double 45 Add ← Add#44, Mod#35 [double] Double 46 Add ← Add#45, Pow#38 [double] Double 47 Add ← Add#46, Pow#41 [double] Double 48 Constant 0x0 Int32 49 Compare ← Add#47, Constant#48 Gt Bool 50 Test ← Compare#49 → block 5, block 6 1 0 Block 5 51 Goto → block 7 Block 6 52 Constant -1 Double 53 Mul ← Add#47, Constant#52 [double] Double 54 Goto → block 7 Block 7 55 Phi ← Mul#53, Add#47 Double 56 Return ← Phi#55
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] Double 10 Unbox Parameter#1 to Double (fallible) Double 11 Unbox Parameter#2 to Double (fallible) Double 12 Sub ← Unbox#10, Unbox#11 [double] Double 13 Unbox Parameter#1 to Double (fallible) Double 14 Unbox Parameter#2 to Double (fallible) Double 15 Mul ← Unbox#13, Unbox#14 [double] Double 16 Unbox Parameter#2 to Double (fallible) Double 17 Not ← Unbox#16 Bool 18 Not ← Not#17 Bool 19 Test ← Not#18 → block 8, block 1 1 0 Block 8 (split edge) 59 Goto → block 2 Block 1 57 Constant magic optimized-out MagicOptimizedOut 20 Constant 0x1 Int32 21 Goto → block 2 Block 2 22 Phi ← Constant#20, Parameter#2 Value 23 Unbox Parameter#1 to Double (fallible) Double 24 Unbox Phi#22 to Double (fallible) Double 25 Div ← Unbox#23, Unbox#24 [double] Double 26 Unbox Parameter#2 to Double (fallible) Double 27 Not ← Unbox#26 Bool 28 Not ← Not#27 Bool 29 Test ← Not#28 → block 9, block 3 1 0 Block 9 (split edge) 60 Goto → block 4 Block 3 58 Constant magic optimized-out MagicOptimizedOut 30 Constant 0x1 Int32 31 Goto → block 4 Block 4 32 Phi ← Constant#30, Parameter#2 Value 33 Unbox Parameter#1 to Double (fallible) Double 34 Unbox Phi#32 to Double (fallible) Double 35 Mod ← Unbox#33, Unbox#34 [double] Double 36 Constant 0x2 Int32 37 Unbox Parameter#1 to Double (fallible) Double 38 Pow ← Unbox#37, Constant#36 Double 39 Constant 0x2 Int32 40 Unbox Parameter#2 to Double (fallible) Double 41 Pow ← Unbox#40, Constant#39 Double 42 Add ← Add#9, Sub#12 [double] Double 43 Add ← Add#42, Mul#15 [double] Double 44 Add ← Add#43, Div#25 [double] Double 45 Add ← Add#44, Mod#35 [double] Double 46 Add ← Add#45, Pow#38 [double] Double 47 Add ← Add#46, Pow#41 [double] Double 48 Constant 0x0 Int32 49 Compare ← Add#47, Constant#48 Gt Bool 50 Test ← Compare#49 → block 5, block 6 1 0 Block 5 51 Goto → block 7 Block 6 52 Constant -1 Double 53 Mul ← Add#47, Constant#52 [double] Double 54 Goto → block 7 Block 7 55 Phi ← Mul#53, Add#47 Double 56 Return ← Phi#55
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] Double 10 Unbox Parameter#1 to Double (fallible) Double 11 Unbox Parameter#2 to Double (fallible) Double 12 Sub ← Unbox#10, Unbox#11 [double] Double 13 Unbox Parameter#1 to Double (fallible) Double 14 Unbox Parameter#2 to Double (fallible) Double 15 Mul ← Unbox#13, Unbox#14 [double] Double 16 Unbox Parameter#2 to Double (fallible) Double 17 Not ← Unbox#16 Bool 18 Not ← Not#17 Bool 19 Test ← Not#18 → block 1, block 2 1 0 Block 1 (split edge) 59 Goto → block 3 Block 2 57 Constant magic optimized-out MagicOptimizedOut 20 Constant 0x1 Int32 21 Goto → block 3 Block 3 22 Phi ← Constant#20, Parameter#2 Value 23 Unbox Parameter#1 to Double (fallible) Double 24 Unbox Phi#22 to Double (fallible) Double 25 Div ← Unbox#23, Unbox#24 [double] Double 26 Unbox Parameter#2 to Double (fallible) Double 27 Not ← Unbox#26 Bool 28 Not ← Not#27 Bool 29 Test ← Not#28 → block 4, block 5 1 0 Block 4 (split edge) 60 Goto → block 6 Block 5 58 Constant magic optimized-out MagicOptimizedOut 30 Constant 0x1 Int32 31 Goto → block 6 Block 6 32 Phi ← Constant#30, Parameter#2 Value 33 Unbox Parameter#1 to Double (fallible) Double 34 Unbox Phi#32 to Double (fallible) Double 35 Mod ← Unbox#33, Unbox#34 [double] Double 36 Constant 0x2 Int32 37 Unbox Parameter#1 to Double (fallible) Double 38 Pow ← Unbox#37, Constant#36 Double 39 Constant 0x2 Int32 40 Unbox Parameter#2 to Double (fallible) Double 41 Pow ← Unbox#40, Constant#39 Double 42 Add ← Add#9, Sub#12 [double] Double 43 Add ← Add#42, Mul#15 [double] Double 44 Add ← Add#43, Div#25 [double] Double 45 Add ← Add#44, Mod#35 [double] Double 46 Add ← Add#45, Pow#38 [double] Double 47 Add ← Add#46, Pow#41 [double] Double 48 Constant 0x0 Int32 49 Compare ← Add#47, Constant#48 Gt Bool 50 Test ← Compare#49 → block 7, block 8 1 0 Block 7 51 Goto → block 9 Block 8 52 Constant -1 Double 53 Mul ← Add#47, Constant#52 [double] Double 54 Goto → block 9 Block 9 55 Phi ← Mul#53, Add#47 Double 56 Return ← Phi#55
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] Double 10 Unbox Parameter#1 to Double (fallible) Double 11 Unbox Parameter#2 to Double (fallible) Double 12 Sub ← Unbox#10, Unbox#11 [double] Double 13 Unbox Parameter#1 to Double (fallible) Double 14 Unbox Parameter#2 to Double (fallible) Double 15 Mul ← Unbox#13, Unbox#14 [double] Double 16 Unbox Parameter#2 to Double (fallible) Double 17 Not ← Unbox#16 Bool 18 Not ← Not#17 Bool 19 Test ← Not#18 → block 1, block 2 1 0 Block 1 (split edge) 59 Goto → block 3 Block 2 57 Constant magic optimized-out MagicOptimizedOut 20 Constant 0x1 Int32 21 Goto → block 3 Block 3 22 Phi ← Constant#20, Parameter#2 Value 23 Unbox Parameter#1 to Double (fallible) Double 24 Unbox Phi#22 to Double (fallible) Double 25 Div ← Unbox#23, Unbox#24 [double] Double 26 Unbox Parameter#2 to Double (fallible) Double 27 Not ← Unbox#26 Bool 28 Not ← Not#27 Bool 29 Test ← Not#28 → block 4, block 5 1 0 Block 4 (split edge) 60 Goto → block 6 Block 5 58 Constant magic optimized-out MagicOptimizedOut 30 Constant 0x1 Int32 31 Goto → block 6 Block 6 32 Phi ← Constant#30, Parameter#2 Value 33 Unbox Parameter#1 to Double (fallible) Double 34 Unbox Phi#32 to Double (fallible) Double 35 Mod ← Unbox#33, Unbox#34 [double] Double 36 Constant 0x2 Int32 37 Unbox Parameter#1 to Double (fallible) Double 38 Pow ← Unbox#37, Constant#36 Double 39 Constant 0x2 Int32 40 Unbox Parameter#2 to Double (fallible) Double 41 Pow ← Unbox#40, Constant#39 Double 42 Add ← Add#9, Sub#12 [double] Double 43 Add ← Add#42, Mul#15 [double] Double 44 Add ← Add#43, Div#25 [double] Double 45 Add ← Add#44, Mod#35 [double] Double 46 Add ← Add#45, Pow#38 [double] Double 47 Add ← Add#46, Pow#41 [double] Double 48 Constant 0x0 Int32 49 Compare ← Add#47, Constant#48 Gt Bool 50 Test ← Compare#49 → block 7, block 8 1 0 Block 7 51 Goto → block 9 Block 8 52 Constant -1 Double 53 Mul ← Add#47, Constant#52 [double] Double 54 Goto → block 9 Block 9 55 Phi ← Mul#53, Add#47 Double 56 Return ← Phi#55
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] Double 10 Unbox Parameter#1 to Double (fallible) Double 11 Unbox Parameter#2 to Double (fallible) Double 12 Sub ← Unbox#10, Unbox#11 [double] Double 13 Unbox Parameter#1 to Double (fallible) Double 14 Unbox Parameter#2 to Double (fallible) Double 15 Mul ← Unbox#13, Unbox#14 [double] Double 16 Unbox Parameter#2 to Double (fallible) Double 17 Not ← Unbox#16 Bool 18 Not ← Not#17 Bool 19 Test ← Not#18 → block 1, block 2 1 0 Block 1 (split edge) 59 Goto → block 3 Block 2 57 Constant magic optimized-out MagicOptimizedOut 20 Constant 0x1 Int32 21 Goto → block 3 Block 3 22 Phi ← Constant#20, Parameter#2 Value 23 Unbox Parameter#1 to Double (fallible) Double 24 Unbox Phi#22 to Double (fallible) Double 25 Div ← Unbox#23, Unbox#24 [double] Double 26 Unbox Parameter#2 to Double (fallible) Double 27 Not ← Unbox#26 Bool 28 Not ← Not#27 Bool 29 Test ← Not#28 → block 4, block 5 1 0 Block 4 (split edge) 60 Goto → block 6 Block 5 58 Constant magic optimized-out MagicOptimizedOut 30 Constant 0x1 Int32 31 Goto → block 6 Block 6 32 Phi ← Constant#30, Parameter#2 Value 33 Unbox Parameter#1 to Double (fallible) Double 34 Unbox Phi#32 to Double (fallible) Double 35 Mod ← Unbox#33, Unbox#34 [double] Double 36 Constant 0x2 Int32 37 Unbox Parameter#1 to Double (fallible) Double 38 Pow ← Unbox#37, Constant#36 Double 39 Constant 0x2 Int32 40 Unbox Parameter#2 to Double (fallible) Double 41 Pow ← Unbox#40, Constant#39 Double 42 Add ← Add#9, Sub#12 [double] Double 43 Add ← Add#42, Mul#15 [double] Double 44 Add ← Add#43, Div#25 [double] Double 45 Add ← Add#44, Mod#35 [double] Double 46 Add ← Add#45, Pow#38 [double] Double 47 Add ← Add#46, Pow#41 [double] Double 48 Constant 0x0 Int32 49 Compare ← Add#47, Constant#48 Gt Bool 50 Test ← Compare#49 → block 7, block 8 1 0 Block 7 51 Goto → block 9 Block 8 52 Constant -1 Double 53 Mul ← Add#47, Constant#52 [double] Double 54 Goto → block 9 Block 9 55 Phi ← Mul#53, Add#47 Double 56 Return ← Phi#55
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] Double 10 Unbox Parameter#1 to Double (fallible) Double 11 Unbox Parameter#2 to Double (fallible) Double 12 Sub ← Unbox#10, Unbox#11 [double] Double 13 Unbox Parameter#1 to Double (fallible) Double 14 Unbox Parameter#2 to Double (fallible) Double 15 Mul ← Unbox#13, Unbox#14 [double] Double 16 Unbox Parameter#2 to Double (fallible) Double 17 Not ← Unbox#16 Bool 18 Not ← Not#17 Bool 19 Test ← Not#18 → block 1, block 2 1 0 Block 1 (split edge) 59 Goto → block 3 Block 2 57 Constant magic optimized-out MagicOptimizedOut 20 Constant 0x1 Int32 21 Goto → block 3 Block 3 22 Phi ← Constant#20, Parameter#2 Value 23 Unbox Parameter#1 to Double (fallible) Double 24 Unbox Phi#22 to Double (fallible) Double 25 Div ← Unbox#23, Unbox#24 [double] Double 26 Unbox Parameter#2 to Double (fallible) Double 27 Not ← Unbox#26 Bool 28 Not ← Not#27 Bool 29 Test ← Not#28 → block 4, block 5 1 0 Block 4 (split edge) 60 Goto → block 6 Block 5 58 Constant magic optimized-out MagicOptimizedOut 30 Constant 0x1 Int32 31 Goto → block 6 Block 6 32 Phi ← Constant#30, Parameter#2 Value 33 Unbox Parameter#1 to Double (fallible) Double 34 Unbox Phi#32 to Double (fallible) Double 35 Mod ← Unbox#33, Unbox#34 [double] Double 36 Constant 0x2 Int32 37 Unbox Parameter#1 to Double (fallible) Double 38 Pow ← Unbox#37, Constant#36 Double 39 Constant 0x2 Int32 40 Unbox Parameter#2 to Double (fallible) Double 41 Pow ← Unbox#40, Constant#39 Double 42 Add ← Add#9, Sub#12 [double] Double 43 Add ← Add#42, Mul#15 [double] Double 44 Add ← Add#43, Div#25 [double] Double 45 Add ← Add#44, Mod#35 [double] Double 46 Add ← Add#45, Pow#38 [double] Double 47 Add ← Add#46, Pow#41 [double] Double 48 Constant 0x0 Int32 49 Compare ← Add#47, Constant#48 Gt Bool 50 Test ← Compare#49 → block 7, block 8 1 0 Block 7 51 Goto → block 9 Block 8 52 Constant -1 Double 53 Mul ← Add#47, Constant#52 [double] Double 54 Goto → block 9 Block 9 55 Phi ← Mul#53, Add#47 Double 56 Return ← Phi#55
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] Double 10 Unbox Parameter#1 to Double (fallible) Double 11 Unbox Parameter#2 to Double (fallible) Double 12 Sub ← Unbox#10, Unbox#11 [double] Double 13 Unbox Parameter#1 to Double (fallible) Double 14 Unbox Parameter#2 to Double (fallible) Double 15 Mul ← Unbox#13, Unbox#14 [double] Double 16 Unbox Parameter#2 to Double (fallible) Double 17 Not ← Unbox#16 Bool 18 Not ← Not#17 Bool 19 Test ← Not#18 → block 1, block 2 1 0 Block 1 (split edge) 59 Goto → block 3 Block 2 57 Constant magic optimized-out MagicOptimizedOut 20 Constant 0x1 Int32 21 Goto → block 3 Block 3 22 Phi ← Constant#20, Parameter#2 Value 23 Unbox Parameter#1 to Double (fallible) Double 24 Unbox Phi#22 to Double (fallible) Double 25 Div ← Unbox#23, Unbox#24 [double] Double 26 Unbox Parameter#2 to Double (fallible) Double 27 Not ← Unbox#26 Bool 28 Not ← Not#27 Bool 29 Test ← Not#28 → block 4, block 5 1 0 Block 4 (split edge) 60 Goto → block 6 Block 5 58 Constant magic optimized-out MagicOptimizedOut 30 Constant 0x1 Int32 31 Goto → block 6 Block 6 32 Phi ← Constant#30, Parameter#2 Value 33 Unbox Parameter#1 to Double (fallible) Double 34 Unbox Phi#32 to Double (fallible) Double 35 Mod ← Unbox#33, Unbox#34 [double] Double 36 Constant 0x2 Int32 37 Unbox Parameter#1 to Double (fallible) Double 38 Pow ← Unbox#37, Constant#36 Double 39 Constant 0x2 Int32 40 Unbox Parameter#2 to Double (fallible) Double 41 Pow ← Unbox#40, Constant#39 Double 42 Add ← Add#9, Sub#12 [double] Double 43 Add ← Add#42, Mul#15 [double] Double 44 Add ← Add#43, Div#25 [double] Double 45 Add ← Add#44, Mod#35 [double] Double 46 Add ← Add#45, Pow#38 [double] Double 47 Add ← Add#46, Pow#41 [double] Double 48 Constant 0x0 Int32 49 Compare ← Add#47, Constant#48 Gt Bool 50 Test ← Compare#49 → block 7, block 8 1 0 Block 7 51 Goto → block 9 Block 8 52 Constant -1 Double 53 Mul ← Add#47, Constant#52 [double] Double 54 Goto → block 9 Block 9 55 Phi ← Mul#53, Add#47 Double 56 Return ← Phi#55
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] Double 10 Unbox Parameter#1 to Double (fallible) Double 11 Unbox Parameter#2 to Double (fallible) Double 12 Sub ← Unbox#10, Unbox#11 [double] Double 13 Unbox Parameter#1 to Double (fallible) Double 14 Unbox Parameter#2 to Double (fallible) Double 15 Mul ← Unbox#13, Unbox#14 [double] Double 16 Unbox Parameter#2 to Double (fallible) Double 17 Not ← Unbox#16 Bool 18 Not ← Not#17 Bool 19 Test ← Not#18 → block 1, block 2 1 0 Block 1 (split edge) 59 Goto → block 3 Block 2 57 Constant magic optimized-out MagicOptimizedOut 20 Constant 0x1 Int32 61 Box ← Constant#20 Value 21 Goto → block 3 Block 3 22 Phi ← Box#61, Parameter#2 Value 23 Unbox Parameter#1 to Double (fallible) Double 24 Unbox Phi#22 to Double (fallible) Double 25 Div ← Unbox#23, Unbox#24 [double] Double 26 Unbox Parameter#2 to Double (fallible) Double 27 Not ← Unbox#26 Bool 28 Not ← Not#27 Bool 29 Test ← Not#28 → block 4, block 5 1 0 Block 4 (split edge) 60 Goto → block 6 Block 5 58 Constant magic optimized-out MagicOptimizedOut 30 Constant 0x1 Int32 62 Box ← Constant#30 Value 31 Goto → block 6 Block 6 32 Phi ← Box#62, Parameter#2 Value 33 Unbox Parameter#1 to Double (fallible) Double 34 Unbox Phi#32 to Double (fallible) Double 35 Mod ← Unbox#33, Unbox#34 [double] Double 36 Constant 0x2 Int32 37 Unbox Parameter#1 to Double (fallible) Double 63 ToDouble ← Constant#36 Double 38 Pow ← Unbox#37, ToDouble#63 Double 39 Constant 0x2 Int32 40 Unbox Parameter#2 to Double (fallible) Double 64 ToDouble ← Constant#39 Double 41 Pow ← Unbox#40, ToDouble#64 Double 42 Add ← Add#9, Sub#12 [double] Double 43 Add ← Add#42, Mul#15 [double] Double 44 Add ← Add#43, Div#25 [double] Double 45 Add ← Add#44, Mod#35 [double] Double 46 Add ← Add#45, Pow#38 [double] Double 47 Add ← Add#46, Pow#41 [double] Double 48 Constant 0x0 Int32 65 ToDouble ← Constant#48 Double 49 Compare ← Add#47, ToDouble#65 Gt Bool 50 Test ← Compare#49 → block 7, block 8 1 0 Block 7 51 Goto → block 9 Block 8 52 Constant -1 Double 53 Mul ← Add#47, Constant#52 [double] Double 54 Goto → block 9 Block 9 55 Phi ← Mul#53, Add#47 Double 66 Box ← Phi#55 Value 56 Return ← Box#66
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] Double 10 Unbox Parameter#1 to Double (fallible) Double 11 Unbox Parameter#2 to Double (fallible) Double 12 Sub ← Unbox#10, Unbox#11 [double] Double 13 Unbox Parameter#1 to Double (fallible) Double 14 Unbox Parameter#2 to Double (fallible) Double 15 Mul ← Unbox#13, Unbox#14 [double] Double 16 Unbox Parameter#2 to Double (fallible) Double 17 Not ← Unbox#16 Bool 18 Not ← Not#17 Bool 19 Test ← Not#18 → block 1, block 2 1 0 Block 1 (split edge) 20 Goto → block 3 Block 2 21 Constant magic optimized-out MagicOptimizedOut 22 Constant 0x1 Int32 23 Box ← Constant#22 Value 24 Goto → block 3 Block 3 25 Phi ← Box#23, Parameter#2 Value 26 Unbox Parameter#1 to Double (fallible) Double 27 Unbox Phi#25 to Double (fallible) Double 28 Div ← Unbox#26, Unbox#27 [double] Double 29 Unbox Parameter#2 to Double (fallible) Double 30 Not ← Unbox#29 Bool 31 Not ← Not#30 Bool 32 Test ← Not#31 → block 4, block 5 1 0 Block 4 (split edge) 33 Goto → block 6 Block 5 34 Constant magic optimized-out MagicOptimizedOut 35 Constant 0x1 Int32 36 Box ← Constant#35 Value 37 Goto → block 6 Block 6 38 Phi ← Box#36, Parameter#2 Value 39 Unbox Parameter#1 to Double (fallible) Double 40 Unbox Phi#38 to Double (fallible) Double 41 Mod ← Unbox#39, Unbox#40 [double] Double 42 Constant 0x2 Int32 43 Unbox Parameter#1 to Double (fallible) Double 44 ToDouble ← Constant#42 Double 45 Pow ← Unbox#43, ToDouble#44 Double 46 Constant 0x2 Int32 47 Unbox Parameter#2 to Double (fallible) Double 48 ToDouble ← Constant#46 Double 49 Pow ← Unbox#47, ToDouble#48 Double 50 Add ← Add#9, Sub#12 [double] Double 51 Add ← Add#50, Mul#15 [double] Double 52 Add ← Add#51, Div#28 [double] Double 53 Add ← Add#52, Mod#41 [double] Double 54 Add ← Add#53, Pow#45 [double] Double 55 Add ← Add#54, Pow#49 [double] Double 56 Constant 0x0 Int32 57 ToDouble ← Constant#56 Double 58 Compare ← Add#55, ToDouble#57 Gt Bool 59 Test ← Compare#58 → block 7, block 8 1 0 Block 7 60 Goto → block 9 Block 8 61 Constant -1 Double 62 Mul ← Add#55, Constant#61 [double] Double 63 Goto → block 9 Block 9 64 Phi ← Mul#62, Add#55 Double 65 Box ← Phi#64 Value 66 Return ← Box#65
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] Double 10 Unbox Parameter#1 to Double (fallible) Double 11 Unbox Parameter#2 to Double (fallible) Double 12 Sub ← Unbox#10, Unbox#11 [double] Double 13 Unbox Parameter#1 to Double (fallible) Double 14 Unbox Parameter#2 to Double (fallible) Double 15 Mul ← Unbox#13, Unbox#14 [double] Double 16 Unbox Parameter#2 to Double (fallible) Double 17 Not ← Unbox#16 Bool 18 Not ← Not#17 Bool 19 Test ← Not#18 → block 1, block 2 1 0 Block 1 (split edge) 20 Goto → block 3 Block 2 21 Constant magic optimized-out MagicOptimizedOut 22 Constant 0x1 Int32 23 Box ← Constant#22 Value 24 Goto → block 3 Block 3 25 Phi ← Box#23, Parameter#2 Value 26 Unbox Parameter#1 to Double (fallible) Double 27 Unbox Phi#25 to Double (fallible) Double 28 Div ← Unbox#26, Unbox#27 [double] Double 29 Unbox Parameter#2 to Double (fallible) Double 30 Not ← Unbox#29 Bool 31 Not ← Not#30 Bool 32 Test ← Not#31 → block 4, block 5 1 0 Block 4 (split edge) 33 Goto → block 6 Block 5 34 Constant magic optimized-out MagicOptimizedOut 35 Constant 0x1 Int32 36 Box ← Constant#35 Value 37 Goto → block 6 Block 6 38 Phi ← Box#36, Parameter#2 Value 39 Unbox Parameter#1 to Double (fallible) Double 40 Unbox Phi#38 to Double (fallible) Double 41 Mod ← Unbox#39, Unbox#40 [double] Double 42 Constant 0x2 Int32 43 Unbox Parameter#1 to Double (fallible) Double 44 ToDouble ← Constant#42 Double 45 Pow ← Unbox#43, ToDouble#44 Double 46 Constant 0x2 Int32 47 Unbox Parameter#2 to Double (fallible) Double 48 ToDouble ← Constant#46 Double 49 Pow ← Unbox#47, ToDouble#48 Double 50 Add ← Add#9, Sub#12 [double] Double 51 Add ← Add#50, Mul#15 [double] Double 52 Add ← Add#51, Div#28 [double] Double 53 Add ← Add#52, Mod#41 [double] Double 54 Add ← Add#53, Pow#45 [double] Double 55 Add ← Add#54, Pow#49 [double] Double 56 Constant 0x0 Int32 57 ToDouble ← Constant#56 Double 58 Compare ← Add#55, ToDouble#57 Gt Bool 59 Test ← Compare#58 → block 7, block 8 1 0 Block 7 60 Goto → block 9 Block 8 61 Constant -1 Double 62 Mul ← Add#55, Constant#61 [double] Double 63 Goto → block 9 Block 9 64 Phi ← Mul#62, Add#55 Double 65 Box ← Phi#64 Value 66 Return ← Box#65
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] Double 12 Sub ← Unbox#7, Unbox#8 [double] Double 15 Mul ← Unbox#7, Unbox#8 [double] Double 67 Test ← Unbox#8 → block 1, block 2 1 0 Block 1 (split edge) 20 Goto → block 3 Block 2 21 Constant magic optimized-out MagicOptimizedOut 22 Constant 0x1 Int32 23 Box ← Constant#22 Value 24 Goto → block 3 Block 3 25 Phi ← Box#23, Parameter#2 Value 27 Unbox Phi#25 to Double (fallible) Double 28 Div ← Unbox#7, Unbox#27 [double] Double 68 Test ← Unbox#8 → block 4, block 5 1 0 Block 4 (split edge) 33 Goto → block 6 Block 5 34 Constant magic optimized-out MagicOptimizedOut 35 Constant 0x1 Int32 36 Box ← Constant#35 Value 37 Goto → block 6 Block 6 38 Phi ← Box#36, Parameter#2 Value 40 Unbox Phi#38 to Double (fallible) Double 41 Mod ← Unbox#7, Unbox#40 [double] Double 70 Mul ← Unbox#7, Unbox#7 [double] Double 72 Mul ← Unbox#8, Unbox#8 [double] Double 50 Add ← Add#9, Sub#12 [double] Double 51 Add ← Add#50, Mul#15 [double] Double 52 Add ← Add#51, Div#28 [double] Double 53 Add ← Add#52, Mod#41 [double] Double 54 Add ← Add#53, Mul#70 [double] Double 55 Add ← Add#54, Mul#72 [double] Double 73 Constant 0 Double 58 Compare ← Add#55, Constant#73 Gt Bool 59 Test ← Compare#58 → block 7, block 8 1 0 Block 7 60 Goto → block 9 Block 8 61 Constant -1 Double 62 Mul ← Add#55, Constant#61 [double] Double 63 Goto → block 9 Block 9 64 Phi ← Mul#62, Add#55 Double 65 Box ← Phi#64 Value 66 Return ← Box#65
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] Double 12 Sub ← Unbox#7, Unbox#8 [double] Double 15 Mul ← Unbox#7, Unbox#8 [double] Double 67 Test ← Unbox#8 → block 1, block 2 1 0 Block 1 (split edge) 20 Goto → block 3 Block 2 21 Constant magic optimized-out MagicOptimizedOut 22 Constant 0x1 Int32 23 Box ← Constant#22 Value 24 Goto → block 3 Block 3 25 Phi ← Box#23, Parameter#2 Value 27 Unbox Phi#25 to Double (fallible) Double 28 Div ← Unbox#7, Unbox#27 [double] Double 68 Test ← Unbox#8 → block 4, block 5 1 0 Block 4 (split edge) 33 Goto → block 6 Block 5 34 Constant magic optimized-out MagicOptimizedOut 35 Constant 0x1 Int32 36 Box ← Constant#35 Value 37 Goto → block 6 Block 6 38 Phi ← Box#36, Parameter#2 Value 40 Unbox Phi#38 to Double (fallible) Double 41 Mod ← Unbox#7, Unbox#40 [double] Double 70 Mul ← Unbox#7, Unbox#7 [double] Double 72 Mul ← Unbox#8, Unbox#8 [double] Double 50 Add ← Add#9, Sub#12 [double] Double 51 Add ← Add#50, Mul#15 [double] Double 52 Add ← Add#51, Div#28 [double] Double 53 Add ← Add#52, Mod#41 [double] Double 54 Add ← Add#53, Mul#70 [double] Double 55 Add ← Add#54, Mul#72 [double] Double 73 Constant 0 Double 58 Compare ← Add#55, Constant#73 Gt Bool 59 Test ← Compare#58 → block 7, block 8 1 0 Block 7 60 Goto → block 9 Block 8 61 Constant -1 Double 62 Mul ← Add#55, Constant#61 [double] Double 63 Goto → block 9 Block 9 64 Phi ← Mul#62, Add#55 Double 65 Box ← Phi#64 Value 66 Return ← Box#65
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] Double 12 Sub ← Unbox#7, Unbox#8 [double] Double 15 Mul ← Unbox#7, Unbox#8 [double] Double 67 Test ← Unbox#8 → block 1, block 2 1 0 Block 1 (split edge) 20 Goto → block 3 Block 2 21 Constant magic optimized-out MagicOptimizedOut 22 Constant 0x1 Int32 23 Box ← Constant#22 Value 24 Goto → block 3 Block 3 25 Phi ← Box#23, Parameter#2 Value 27 Unbox Phi#25 to Double (fallible) Double 28 Div ← Unbox#7, Unbox#27 [double] Double 68 Test ← Unbox#8 → block 4, block 5 1 0 Block 4 (split edge) 33 Goto → block 6 Block 5 34 Constant magic optimized-out MagicOptimizedOut 35 Constant 0x1 Int32 36 Box ← Constant#35 Value 37 Goto → block 6 Block 6 38 Phi ← Box#36, Parameter#2 Value 40 Unbox Phi#38 to Double (fallible) Double 41 Mod ← Unbox#7, Unbox#40 [double] Double 70 Mul ← Unbox#7, Unbox#7 [double] Double 72 Mul ← Unbox#8, Unbox#8 [double] Double 50 Add ← Add#9, Sub#12 [double] Double 51 Add ← Add#50, Mul#15 [double] Double 52 Add ← Add#51, Div#28 [double] Double 53 Add ← Add#52, Mod#41 [double] Double 54 Add ← Add#53, Mul#70 [double] Double 55 Add ← Add#54, Mul#72 [double] Double 73 Constant 0 Double 58 Compare ← Add#55, Constant#73 Gt Bool 59 Test ← Compare#58 → block 7, block 8 1 0 Block 7 75 Beta ← Add#55 F[0, ?] (U Infinity) Double 60 Goto → block 9 Block 8 74 Beta ← Add#55 F[?, 0] (U NaN U -Infinity U -0) Double 61 Constant -1 Double 62 Mul ← Beta#74, Constant#61 [double] Double 63 Goto → block 9 Block 9 64 Phi ← Mul#62, Beta#75 Double 65 Box ← Phi#64 Value 66 Return ← Box#65
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 12 Sub ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 15 Mul ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 67 Test ← Unbox#8 → block 1, block 2 1 0 Block 1 (split edge) 20 Goto → block 3 Block 2 21 Constant magic optimized-out MagicOptimizedOut 22 Constant 0x1 I[1, 1]: Int32 23 Box ← Constant#22 Value 24 Goto → block 3 Block 3 25 Phi ← Box#23, Parameter#2 Value 27 Unbox Phi#25 to Double (fallible) Double 28 Div ← Unbox#7, Unbox#27 [double] Double 68 Test ← Unbox#8 → block 4, block 5 1 0 Block 4 (split edge) 33 Goto → block 6 Block 5 34 Constant magic optimized-out MagicOptimizedOut 35 Constant 0x1 I[1, 1]: Int32 36 Box ← Constant#35 Value 37 Goto → block 6 Block 6 38 Phi ← Box#36, Parameter#2 Value 40 Unbox Phi#38 to Double (fallible) Double 41 Mod ← Unbox#7, Unbox#40 [double] Double 70 Mul ← Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 72 Mul ← Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 50 Add ← Add#9, Sub#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 51 Add ← Add#50, Mul#15 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 52 Add ← Add#51, Div#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 53 Add ← Add#52, Mod#41 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 54 Add ← Add#53, Mul#70 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 55 Add ← Add#54, Mul#72 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 73 Constant 0 I[0, 0]: Double 58 Compare ← Add#55, Constant#73 Gt Bool 59 Test ← Compare#58 → block 7, block 8 1 0 Block 7 75 Beta ← Add#55 F[0, ?] (U Infinity) F[0, ?] (U Infinity U -0): Double 60 Goto → block 9 Block 8 74 Beta ← Add#55 F[?, 0] (U NaN U -Infinity U -0) F[?, 0] (U NaN U -Infinity U -0): Double 61 Constant -1 I[-1, -1]: Double 62 Mul ← Beta#74, Constant#61 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 63 Goto → block 9 Block 9 64 Phi ← Mul#62, Beta#75 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 65 Box ← Phi#64 Value 66 Return ← Box#65
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 12 Sub ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 15 Mul ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 67 Test ← Unbox#8 → block 1, block 2 1 0 Block 1 (split edge) 20 Goto → block 3 Block 2 21 Constant magic optimized-out MagicOptimizedOut 22 Constant 0x1 I[1, 1]: Int32 23 Box ← Constant#22 Value 24 Goto → block 3 Block 3 25 Phi ← Box#23, Parameter#2 Value 27 Unbox Phi#25 to Double (fallible) Double 28 Div ← Unbox#7, Unbox#27 [double] Double 68 Test ← Unbox#8 → block 4, block 5 1 0 Block 4 (split edge) 33 Goto → block 6 Block 5 34 Constant magic optimized-out MagicOptimizedOut 35 Constant 0x1 I[1, 1]: Int32 36 Box ← Constant#35 Value 37 Goto → block 6 Block 6 38 Phi ← Box#36, Parameter#2 Value 40 Unbox Phi#38 to Double (fallible) Double 41 Mod ← Unbox#7, Unbox#40 [double] Double 70 Mul ← Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 72 Mul ← Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 50 Add ← Add#9, Sub#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 51 Add ← Add#50, Mul#15 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 52 Add ← Add#51, Div#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 53 Add ← Add#52, Mod#41 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 54 Add ← Add#53, Mul#70 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 55 Add ← Add#54, Mul#72 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 73 Constant 0 I[0, 0]: Double 58 Compare ← Add#55, Constant#73 Gt Bool 59 Test ← Compare#58 → block 7, block 8 1 0 Block 7 60 Goto → block 9 Block 8 61 Constant -1 I[-1, -1]: Double 62 Mul ← Add#55, Constant#61 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 63 Goto → block 9 Block 9 64 Phi ← Mul#62, Add#55 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 65 Box ← Phi#64 Value 66 Return ← Box#65
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 12 Sub ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 15 Mul ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 67 Test ← Unbox#8 → block 1, block 2 1 0 Block 1 (split edge) 20 Goto → block 3 Block 2 21 Constant magic optimized-out MagicOptimizedOut 22 Constant 0x1 I[1, 1]: Int32 23 Box ← Constant#22 Value 24 Goto → block 3 Block 3 25 Phi ← Box#23, Parameter#2 Value 27 Unbox Phi#25 to Double (fallible) Double 28 Div ← Unbox#7, Unbox#27 [double] Double 68 Test ← Unbox#8 → block 4, block 5 1 0 Block 4 (split edge) 33 Goto → block 6 Block 5 34 Constant magic optimized-out MagicOptimizedOut 35 Constant 0x1 I[1, 1]: Int32 36 Box ← Constant#35 Value 37 Goto → block 6 Block 6 38 Phi ← Box#36, Parameter#2 Value 40 Unbox Phi#38 to Double (fallible) Double 41 Mod ← Unbox#7, Unbox#40 [double] Double 70 Mul ← Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 72 Mul ← Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 50 Add ← Add#9, Sub#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 51 Add ← Add#50, Mul#15 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 52 Add ← Add#51, Div#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 53 Add ← Add#52, Mod#41 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 54 Add ← Add#53, Mul#70 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 55 Add ← Add#54, Mul#72 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 73 Constant 0 I[0, 0]: Double 58 Compare ← Add#55, Constant#73 Gt Bool 59 Test ← Compare#58 → block 7, block 8 1 0 Block 7 60 Goto → block 9 Block 8 61 Constant -1 I[-1, -1]: Double 62 Mul ← Add#55, Constant#61 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 63 Goto → block 9 Block 9 64 Phi ← Mul#62, Add#55 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 65 Box ← Phi#64 Value 66 Return ← Box#65
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 12 Sub ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 15 Mul ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 67 Test ← Unbox#8 → block 1, block 2 1 0 Block 1 (split edge) 20 Goto → block 3 Block 2 21 Constant magic optimized-out MagicOptimizedOut 22 Constant 0x1 I[1, 1]: Int32 23 Box ← Constant#22 Value 24 Goto → block 3 Block 3 25 Phi ← Box#23, Parameter#2 Value 27 Unbox Phi#25 to Double (fallible) Double 28 Div ← Unbox#7, Unbox#27 [double] Double 68 Test ← Unbox#8 → block 4, block 5 1 0 Block 4 (split edge) 33 Goto → block 6 Block 5 34 Constant magic optimized-out MagicOptimizedOut 35 Constant 0x1 I[1, 1]: Int32 36 Box ← Constant#35 Value 37 Goto → block 6 Block 6 38 Phi ← Box#36, Parameter#2 Value 40 Unbox Phi#38 to Double (fallible) Double 41 Mod ← Unbox#7, Unbox#40 [double] Double 70 Mul ← Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 72 Mul ← Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 50 Add ← Add#9, Sub#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 51 Add ← Add#50, Mul#15 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 52 Add ← Add#51, Div#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 53 Add ← Add#52, Mod#41 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 54 Add ← Add#53, Mul#70 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 55 Add ← Add#54, Mul#72 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 73 Constant 0 I[0, 0]: Double 58 Compare ← Add#55, Constant#73 Gt Bool 59 Test ← Compare#58 → block 7, block 8 1 0 Block 7 60 Goto → block 9 Block 8 61 Constant -1 I[-1, -1]: Double 62 Mul ← Add#55, Constant#61 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 63 Goto → block 9 Block 9 64 Phi ← Mul#62, Add#55 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 65 Box ← Phi#64 Value 66 Return ← Box#65
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 12 Sub ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 15 Mul ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 67 Test ← Unbox#8 → block 1, block 2 1 0 Block 1 (split edge) 20 Goto → block 3 Block 2 21 Constant magic optimized-out MagicOptimizedOut 22 Constant 0x1 I[1, 1]: Int32 23 Box ← Constant#22 Value 24 Goto → block 3 Block 3 25 Phi ← Box#23, Parameter#2 Value 27 Unbox Phi#25 to Double (fallible) Double 28 Div ← Unbox#7, Unbox#27 [double] Double 68 Test ← Unbox#8 → block 4, block 5 1 0 Block 4 (split edge) 33 Goto → block 6 Block 5 34 Constant magic optimized-out MagicOptimizedOut 35 Constant 0x1 I[1, 1]: Int32 36 Box ← Constant#35 Value 37 Goto → block 6 Block 6 38 Phi ← Box#36, Parameter#2 Value 40 Unbox Phi#38 to Double (fallible) Double 41 Mod ← Unbox#7, Unbox#40 [double] Double 70 Mul ← Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 72 Mul ← Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 50 Add ← Add#9, Sub#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 51 Add ← Add#50, Mul#15 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 52 Add ← Add#51, Div#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 53 Add ← Add#52, Mod#41 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 54 Add ← Add#53, Mul#70 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 55 Add ← Add#54, Mul#72 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 73 Constant 0 I[0, 0]: Double 58 Compare ← Add#55, Constant#73 Gt Bool 59 Test ← Compare#58 → block 7, block 8 1 0 Block 7 60 Goto → block 9 Block 8 61 Constant -1 I[-1, -1]: Double 62 Mul ← Add#55, Constant#61 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 63 Goto → block 9 Block 9 64 Phi ← Mul#62, Add#55 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 65 Box ← Phi#64 Value 66 Return ← Box#65
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 12 Sub ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 15 Mul ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 67 Test ← Unbox#8 → block 1, block 2 1 0 Block 1 (split edge) 20 Goto → block 3 Block 2 21 Constant magic optimized-out MagicOptimizedOut 22 Constant 0x1 I[1, 1]: Int32 23 Box ← Constant#22 Value 24 Goto → block 3 Block 3 25 Phi ← Box#23, Parameter#2 Value 27 Unbox Phi#25 to Double (fallible) Double 28 Div ← Unbox#7, Unbox#27 [double] Double 68 Test ← Unbox#8 → block 4, block 5 1 0 Block 4 (split edge) 33 Goto → block 6 Block 5 34 Constant magic optimized-out MagicOptimizedOut 35 Constant 0x1 I[1, 1]: Int32 36 Box ← Constant#35 Value 37 Goto → block 6 Block 6 38 Phi ← Box#36, Parameter#2 Value 40 Unbox Phi#38 to Double (fallible) Double 41 Mod ← Unbox#7, Unbox#40 [double] Double 70 Mul ← Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 72 Mul ← Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 50 Add ← Add#9, Sub#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 51 Add ← Add#50, Mul#15 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 52 Add ← Add#51, Div#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 53 Add ← Add#52, Mod#41 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 54 Add ← Add#53, Mul#70 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 55 Add ← Add#54, Mul#72 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 73 Constant 0 I[0, 0]: Double 58 Compare ← Add#55, Constant#73 Gt Bool 59 Test ← Compare#58 → block 7, block 8 1 0 Block 7 60 Goto → block 9 Block 8 61 Constant -1 I[-1, -1]: Double 62 Mul ← Add#55, Constant#61 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 63 Goto → block 9 Block 9 64 Phi ← Mul#62, Add#55 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 65 Box ← Phi#64 Value 66 Return ← Box#65
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 12 Sub ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 15 Mul ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 67 Test ← Unbox#8 → block 1, block 2 1 0 Block 1 (split edge) 20 Goto → block 3 Block 2 21 Constant magic optimized-out MagicOptimizedOut 22 Constant 0x1 I[1, 1]: Int32 23 Box ← Constant#22 Value 24 Goto → block 3 Block 3 25 Phi ← Box#23, Parameter#2 Value 27 Unbox Phi#25 to Double (fallible) Double 28 Div ← Unbox#7, Unbox#27 [double] Double 68 Test ← Unbox#8 → block 4, block 5 1 0 Block 4 (split edge) 33 Goto → block 6 Block 5 34 Constant magic optimized-out MagicOptimizedOut 35 Constant 0x1 I[1, 1]: Int32 36 Box ← Constant#35 Value 37 Goto → block 6 Block 6 38 Phi ← Box#36, Parameter#2 Value 40 Unbox Phi#38 to Double (fallible) Double 41 Mod ← Unbox#7, Unbox#40 [double] Double 70 Mul ← Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 72 Mul ← Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 50 Add ← Add#9, Sub#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 51 Add ← Add#50, Mul#15 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 52 Add ← Add#51, Div#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 53 Add ← Add#52, Mod#41 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 54 Add ← Add#53, Mul#70 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 55 Add ← Add#54, Mul#72 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 73 Constant 0 I[0, 0]: Double 58 Compare ← Add#55, Constant#73 Gt Bool 59 Test ← Compare#58 → block 7, block 8 1 0 Block 7 60 Goto → block 9 Block 8 61 Constant -1 I[-1, -1]: Double 62 Mul ← Add#55, Constant#61 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 63 Goto → block 9 Block 9 64 Phi ← Mul#62, Add#55 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 65 Box ← Phi#64 Value 66 Return ← Box#65
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 12 Sub ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 15 Mul ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 67 Test ← Unbox#8 → block 1, block 2 1 0 Block 1 (split edge) 20 Goto → block 3 Block 2 21 Constant magic optimized-out MagicOptimizedOut 22 Constant 0x1 I[1, 1]: Int32 23 Box ← Constant#22 Value 24 Goto → block 3 Block 3 25 Phi ← Box#23, Parameter#2 Value 27 Unbox Phi#25 to Double (fallible) Double 28 Div ← Unbox#7, Unbox#27 [double] Double 68 Test ← Unbox#8 → block 4, block 5 1 0 Block 4 (split edge) 33 Goto → block 6 Block 5 34 Constant magic optimized-out MagicOptimizedOut 35 Constant 0x1 I[1, 1]: Int32 36 Box ← Constant#35 Value 37 Goto → block 6 Block 6 38 Phi ← Box#36, Parameter#2 Value 40 Unbox Phi#38 to Double (fallible) Double 41 Mod ← Unbox#7, Unbox#40 [double] Double 70 Mul ← Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 72 Mul ← Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 50 Add ← Add#9, Sub#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 51 Add ← Add#50, Mul#15 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 52 Add ← Add#51, Div#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 53 Add ← Add#52, Mod#41 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 54 Add ← Add#53, Mul#70 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 55 Add ← Add#54, Mul#72 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 73 Constant 0 I[0, 0]: Double 58 Compare ← Add#55, Constant#73 Gt Bool 59 Test ← Compare#58 → block 7, block 8 1 0 Block 7 60 Goto → block 9 Block 8 61 Constant -1 I[-1, -1]: Double 62 Mul ← Add#55, Constant#61 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 63 Goto → block 9 Block 9 64 Phi ← Mul#62, Add#55 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 65 Box ← Phi#64 Value 66 Return ← Box#65
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 10 Sub ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 11 Mul ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 12 Test ← Unbox#8 → block 1, block 2 1 0 Block 1 (split edge) 13 Goto → block 3 Block 2 14 Constant magic optimized-out MagicOptimizedOut 15 Constant 0x1 I[1, 1]: Int32 16 Box ← Constant#15 Value 17 Goto → block 3 Block 3 18 Phi ← Box#16, Parameter#2 Value 19 Unbox Phi#18 to Double (fallible) Double 20 Div ← Unbox#7, Unbox#19 [double] Double 21 Test ← Unbox#8 → block 4, block 5 1 0 Block 4 (split edge) 22 Goto → block 6 Block 5 23 Constant magic optimized-out MagicOptimizedOut 24 Constant 0x1 I[1, 1]: Int32 25 Box ← Constant#24 Value 26 Goto → block 6 Block 6 27 Phi ← Box#25, Parameter#2 Value 28 Add ← Add#9, Sub#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 29 Add ← Add#28, Mul#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 30 Add ← Add#29, Div#20 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 31 Mul ← Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 32 Unbox Phi#27 to Double (fallible) Double 33 Mod ← Unbox#7, Unbox#32 [double] Double 34 Add ← Add#30, Mod#33 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 35 Mul ← Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 36 Add ← Add#34, Mul#35 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 37 Add ← Add#36, Mul#31 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 38 Constant 0 I[0, 0]: Double 39 Compare ← Add#37, Constant#38 Gt Bool 40 Test ← Compare#39 → block 7, block 8 1 0 Block 7 41 Goto → block 9 Block 8 42 Constant -1 I[-1, -1]: Double 43 Mul ← Add#37, Constant#42 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 44 Goto → block 9 Block 9 45 Phi ← Mul#43, Add#37 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 46 Box ← Phi#45 Value 47 Return ← Box#46
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 10 Sub ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 11 Mul ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 12 Test ← Unbox#8 → block 1, block 2 1 0 Block 1 (split edge) 13 Goto → block 3 Block 2 14 Constant magic optimized-out MagicOptimizedOut 15 Constant 0x1 I[1, 1]: Int32 16 Box ← Constant#15 Value 17 Goto → block 3 Block 3 18 Phi ← Box#16, Parameter#2 Value 19 Unbox Phi#18 to Double (fallible) Double 20 Div ← Unbox#7, Unbox#19 [double] Double 21 Test ← Unbox#8 → block 4, block 5 1 0 Block 4 (split edge) 22 Goto → block 6 Block 5 23 Constant magic optimized-out MagicOptimizedOut 24 Constant 0x1 I[1, 1]: Int32 25 Box ← Constant#24 Value 26 Goto → block 6 Block 6 27 Phi ← Box#25, Parameter#2 Value 28 Add ← Add#9, Sub#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 29 Add ← Add#28, Mul#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 30 Add ← Add#29, Div#20 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 31 Mul ← Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 32 Unbox Phi#27 to Double (fallible) Double 33 Mod ← Unbox#7, Unbox#32 [double] Double 34 Add ← Add#30, Mod#33 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 35 Mul ← Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 36 Add ← Add#34, Mul#35 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 37 Add ← Add#36, Mul#31 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 38 Constant 0 I[0, 0]: Double 39 Compare ← Add#37, Constant#38 Gt Bool 40 Test ← Compare#39 → block 7, block 8 1 0 Block 7 41 Goto → block 9 Block 8 42 Constant -1 I[-1, -1]: Double 43 Mul ← Add#37, Constant#42 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 44 Goto → block 9 Block 9 45 Phi ← Mul#43, Add#37 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 46 Box ← Phi#45 Value 47 Return ← Box#46
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 10 Sub ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 11 Mul ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 12 Test ← Unbox#8 → block 1, block 2 1 0 Block 1 (split edge) 13 Goto → block 3 Block 2 14 Constant magic optimized-out MagicOptimizedOut 15 Constant 0x1 I[1, 1]: Int32 16 Box ← Constant#15 Value 17 Goto → block 3 Block 3 18 Phi ← Box#16, Parameter#2 Value 19 Unbox Phi#18 to Double (fallible) Double 20 Div ← Unbox#7, Unbox#19 [double] Double 21 Test ← Unbox#8 → block 4, block 5 1 0 Block 4 (split edge) 22 Goto → block 6 Block 5 23 Constant magic optimized-out MagicOptimizedOut 24 Constant 0x1 I[1, 1]: Int32 25 Box ← Constant#24 Value 26 Goto → block 6 Block 6 27 Phi ← Box#25, Parameter#2 Value 28 Add ← Add#9, Sub#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 29 Add ← Add#28, Mul#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 30 Add ← Add#29, Div#20 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 31 Mul ← Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 32 Unbox Phi#27 to Double (fallible) Double 33 Mod ← Unbox#7, Unbox#32 [double] Double 34 Add ← Add#30, Mod#33 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 35 Mul ← Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 36 Add ← Add#34, Mul#35 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 37 Add ← Add#36, Mul#31 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 38 Constant 0 I[0, 0]: Double 39 Compare ← Add#37, Constant#38 Gt Bool 40 Test ← Compare#39 → block 7, block 8 1 0 Block 7 41 Goto → block 9 Block 8 42 Constant -1 I[-1, -1]: Double 43 Mul ← Add#37, Constant#42 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 44 Goto → block 9 Block 9 45 Phi ← Mul#43, Add#37 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 46 Box ← Phi#45 Value 47 Return ← Box#46
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 10 Sub ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 11 Mul ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 12 Test ← Unbox#8 → block 1, block 2 1 0 Block 1 (split edge) 13 Goto → block 3 Block 2 14 Constant magic optimized-out MagicOptimizedOut 15 Constant 0x1 I[1, 1]: Int32 16 Box ← Constant#15 Value 17 Goto → block 3 Block 3 18 Phi ← Box#16, Parameter#2 Value 19 Unbox Phi#18 to Double (fallible) Double 20 Div ← Unbox#7, Unbox#19 [double] Double 21 Test ← Unbox#8 → block 4, block 5 1 0 Block 4 (split edge) 22 Goto → block 6 Block 5 23 Constant magic optimized-out MagicOptimizedOut 24 Constant 0x1 I[1, 1]: Int32 25 Box ← Constant#24 Value 26 Goto → block 6 Block 6 27 Phi ← Box#25, Parameter#2 Value 28 Add ← Add#9, Sub#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 29 Add ← Add#28, Mul#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 30 Add ← Add#29, Div#20 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 31 Mul ← Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 32 Unbox Phi#27 to Double (fallible) Double 33 Mod ← Unbox#7, Unbox#32 [double] Double 34 Add ← Add#30, Mod#33 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 35 Mul ← Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 36 Add ← Add#34, Mul#35 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 37 Add ← Add#36, Mul#31 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 38 Constant 0 I[0, 0]: Double 39 Compare ← Add#37, Constant#38 Gt Bool 40 Test ← Compare#39 → block 7, block 8 1 0 Block 7 41 Goto → block 9 Block 8 42 Constant -1 I[-1, -1]: Double 43 Mul ← Add#37, Constant#42 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 44 Goto → block 9 Block 9 45 Phi ← Mul#43, Add#37 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 46 Box ← Phi#45 Value 47 Return ← Box#46
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 10 Sub ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 11 Mul ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 12 Test ← Unbox#8 → block 1, block 2 1 0 Block 1 (split edge) 13 Goto → block 3 Block 2 14 Constant magic optimized-out MagicOptimizedOut 15 Constant 0x1 I[1, 1]: Int32 16 Box ← Constant#15 Value 17 Goto → block 3 Block 3 18 Phi ← Box#16, Parameter#2 Value 19 Unbox Phi#18 to Double (fallible) Double 20 Div ← Unbox#7, Unbox#19 [double] Double 21 Test ← Unbox#8 → block 4, block 5 1 0 Block 4 (split edge) 22 Goto → block 6 Block 5 23 Constant magic optimized-out MagicOptimizedOut 24 Constant 0x1 I[1, 1]: Int32 25 Box ← Constant#24 Value 26 Goto → block 6 Block 6 27 Phi ← Box#25, Parameter#2 Value 28 Add ← Add#9, Sub#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 29 Add ← Add#28, Mul#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 30 Add ← Add#29, Div#20 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 31 Mul ← Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 32 Unbox Phi#27 to Double (fallible) Double 33 Mod ← Unbox#7, Unbox#32 [double] Double 34 Add ← Add#30, Mod#33 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 35 Mul ← Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 36 Add ← Add#34, Mul#35 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 37 Add ← Add#36, Mul#31 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 38 Constant 0 I[0, 0]: Double 39 Compare ← Add#37, Constant#38 Gt Bool 40 Test ← Compare#39 → block 7, block 8 1 0 Block 7 41 Goto → block 9 Block 8 42 Constant -1 I[-1, -1]: Double 43 Mul ← Add#37, Constant#42 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 44 Goto → block 9 Block 9 45 Phi ← Mul#43, Add#37 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 46 Box ← Phi#45 Value 47 Return ← Box#46
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 10 Sub ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 11 Mul ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 12 Test ← Unbox#8 → block 1, block 2 1 0 Block 1 (split edge) 13 Goto → block 3 Block 2 14 Constant magic optimized-out MagicOptimizedOut 15 Constant 0x1 I[1, 1]: Int32 16 Box ← Constant#15 Value 17 Goto → block 3 Block 3 18 Phi ← Box#16, Parameter#2 Value 19 Unbox Phi#18 to Double (fallible) Double 20 Div ← Unbox#7, Unbox#19 [double] Double 21 Test ← Unbox#8 → block 4, block 5 1 0 Block 4 (split edge) 22 Goto → block 6 Block 5 23 Constant magic optimized-out MagicOptimizedOut 24 Constant 0x1 I[1, 1]: Int32 25 Box ← Constant#24 Value 26 Goto → block 6 Block 6 27 Phi ← Box#25, Parameter#2 Value 28 Add ← Add#9, Sub#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 29 Add ← Add#28, Mul#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 30 Add ← Add#29, Div#20 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 31 Mul ← Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 32 Unbox Phi#27 to Double (fallible) Double 33 Mod ← Unbox#7, Unbox#32 [double] Double 34 Add ← Add#30, Mod#33 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 35 Mul ← Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 36 Add ← Add#34, Mul#35 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 37 Add ← Add#36, Mul#31 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 38 Constant 0 I[0, 0]: Double 39 Compare ← Add#37, Constant#38 Gt Bool 40 Test ← Compare#39 → block 7, block 8 1 0 Block 7 41 Goto → block 9 Block 8 42 Constant -1 I[-1, -1]: Double 43 Mul ← Add#37, Constant#42 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 44 Goto → block 9 Block 9 45 Phi ← Mul#43, Add#37 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 46 Box ← Phi#45 Value 47 Return ← Box#46
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 10 Sub ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 11 Mul ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 12 Test ← Unbox#8 → block 1, block 2 1 0 Block 1 (split edge) 13 Goto → block 3 Block 2 14 Constant magic optimized-out MagicOptimizedOut 15 Constant 0x1 I[1, 1]: Int32 16 Box ← Constant#15 Value 17 Goto → block 3 Block 3 18 Phi ← Box#16, Parameter#2 Value 19 Unbox Phi#18 to Double (fallible) Double 20 Div ← Unbox#7, Unbox#19 [double] Double 21 Test ← Unbox#8 → block 4, block 5 1 0 Block 4 (split edge) 22 Goto → block 6 Block 5 23 Constant magic optimized-out MagicOptimizedOut 24 Constant 0x1 I[1, 1]: Int32 25 Box ← Constant#24 Value 26 Goto → block 6 Block 6 27 Phi ← Box#25, Parameter#2 Value 28 Add ← Add#9, Sub#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 29 Add ← Add#28, Mul#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 30 Add ← Add#29, Div#20 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 31 Mul ← Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 32 Unbox Phi#27 to Double (fallible) Double 33 Mod ← Unbox#7, Unbox#32 [double] Double 34 Add ← Add#30, Mod#33 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 35 Mul ← Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 36 Add ← Add#34, Mul#35 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 37 Add ← Add#36, Mul#31 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 38 Constant 0 I[0, 0]: Double 39 Compare ← Add#37, Constant#38 Gt Bool 40 Test ← Compare#39 → block 7, block 8 1 0 Block 7 41 Goto → block 9 Block 8 42 Constant -1 I[-1, -1]: Double 43 Mul ← Add#37, Constant#42 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 44 Goto → block 9 Block 9 45 Phi ← Mul#43, Add#37 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 46 Box ← Phi#45 Value 47 Return ← Box#46
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 10 Sub ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 11 Mul ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 12 Test ← Unbox#8 → block 1, block 2 1 0 Block 1 (split edge) 13 Goto → block 3 Block 2 14 Constant magic optimized-out MagicOptimizedOut 15 Constant 0x1 I[1, 1]: Int32 16 Box ← Constant#15 Value 17 Goto → block 3 Block 3 18 Phi ← Box#16, Parameter#2 Value 19 Unbox Phi#18 to Double (fallible) Double 20 Div ← Unbox#7, Unbox#19 [double] Double 21 Test ← Unbox#8 → block 4, block 5 1 0 Block 4 (split edge) 22 Goto → block 6 Block 5 23 Constant magic optimized-out MagicOptimizedOut 24 Constant 0x1 I[1, 1]: Int32 25 Box ← Constant#24 Value 26 Goto → block 6 Block 6 27 Phi ← Box#25, Parameter#2 Value 28 Add ← Add#9, Sub#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 29 Add ← Add#28, Mul#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 30 Add ← Add#29, Div#20 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 31 Mul ← Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 32 Unbox Phi#27 to Double (fallible) Double 33 Mod ← Unbox#7, Unbox#32 [double] Double 34 Add ← Add#30, Mod#33 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 35 Mul ← Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 36 Add ← Add#34, Mul#35 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 37 Add ← Add#36, Mul#31 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 38 Constant 0 I[0, 0]: Double 39 Compare ← Add#37, Constant#38 Gt Bool 40 Test ← Compare#39 → block 7, block 8 1 0 Block 7 41 Goto → block 9 Block 8 42 Constant -1 I[-1, -1]: Double 43 Mul ← Add#37, Constant#42 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 44 Goto → block 9 Block 9 45 Phi ← Mul#43, Add#37 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 46 Box ← Phi#45 Value 47 Return ← Box#46
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 10 Sub ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 11 Mul ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 12 Test ← Unbox#8 → block 1, block 2 1 0 Block 1 (split edge) 13 Goto → block 3 Block 2 14 Constant magic optimized-out MagicOptimizedOut 15 Constant 0x1 I[1, 1]: Int32 16 Box ← Constant#15 Value 17 Goto → block 3 Block 3 18 Phi ← Box#16, Parameter#2 Value 19 Unbox Phi#18 to Double (fallible) Double 20 Div ← Unbox#7, Unbox#19 [double] Double 21 Test ← Unbox#8 → block 4, block 5 1 0 Block 4 (split edge) 22 Goto → block 6 Block 5 23 Constant magic optimized-out MagicOptimizedOut 24 Constant 0x1 I[1, 1]: Int32 25 Box ← Constant#24 Value 26 Goto → block 6 Block 6 27 Phi ← Box#25, Parameter#2 Value 28 Add ← Add#9, Sub#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 29 Add ← Add#28, Mul#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 30 Add ← Add#29, Div#20 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 31 Mul ← Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 32 Unbox Phi#27 to Double (fallible) Double 33 Mod ← Unbox#7, Unbox#32 [double] Double 34 Add ← Add#30, Mod#33 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 35 Mul ← Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 36 Add ← Add#34, Mul#35 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 37 Add ← Add#36, Mul#31 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 38 Constant 0 I[0, 0]: Double 39 Compare ← Add#37, Constant#38 Gt Bool 40 Test ← Compare#39 → block 7, block 8 1 0 Block 7 41 Goto → block 9 Block 8 42 Constant -1 I[-1, -1]: Double 43 Mul ← Add#37, Constant#42 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 44 Goto → block 9 Block 9 45 Phi ← Mul#43, Add#37 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 46 Box ← Phi#45 Value 47 Return ← Box#46
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Parameter 1 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Unbox Parameter#1 to Double (fallible) Double 8 Unbox Parameter#2 to Double (fallible) Double 9 Add ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 10 Sub ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 11 Mul ← Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 12 Test ← Unbox#8 → block 1, block 2 1 0 Block 1 (split edge) 13 Goto → block 3 Block 2 14 Constant magic optimized-out MagicOptimizedOut 15 Constant 0x1 I[1, 1]: Int32 16 Box ← Constant#15 Value 17 Goto → block 3 Block 3 18 Phi ← Box#16, Parameter#2 Value 19 Unbox Phi#18 to Double (fallible) Double 20 Div ← Unbox#7, Unbox#19 [double] Double 21 Test ← Unbox#8 → block 4, block 5 1 0 Block 4 (split edge) 22 Goto → block 6 Block 5 23 Constant magic optimized-out MagicOptimizedOut 24 Constant 0x1 I[1, 1]: Int32 25 Box ← Constant#24 Value 26 Goto → block 6 Block 6 27 Phi ← Box#25, Parameter#2 Value 28 Add ← Add#9, Sub#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 29 Add ← Add#28, Mul#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 30 Add ← Add#29, Div#20 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 31 Mul ← Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 32 Unbox Phi#27 to Double (fallible) Double 33 Mod ← Unbox#7, Unbox#32 [double] Double 34 Add ← Add#30, Mod#33 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 35 Mul ← Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 36 Add ← Add#34, Mul#35 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 37 Add ← Add#36, Mul#31 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 38 Constant 0 I[0, 0]: Double 39 Compare ← Add#37, Constant#38 Gt Bool 40 Test ← Compare#39 → block 7, block 8 1 0 Block 7 41 Goto → block 9 Block 8 42 Constant -1 I[-1, -1]: Double 43 Mul ← Add#37, Constant#42 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 44 Goto → block 9 Block 9 45 Phi ← Mul#43, Add#37 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 46 Box ← Phi#45 Value 47 Return ← Box#46
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 AssertCanElidePostWriteBarrier ← NewCallObject#8, FunctionEnvironment#6 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Callee#5 11 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 12 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 13 PostWriteBarrier ← NewCallObject#8, Parameter#1 14 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 15 Constant object 104289c3f040 (LexicalEnvironment) Object 16 Constant object 104289c3e030 (global) Object 17 Constant function Object at 104289c422e0 Object 18 Constant function Object at 104289c422e0 Object 19 GuardObjectIdentity ← Constant#17, Constant#18 Object 20 Constant function keys at 104289c42468 Object 21 LoadFixedSlot ← NewCallObject#8 (slot 2) Value 22 Constant 0x1 Int32 23 Constant function keys at 104289c42468 Object 24 GuardSpecificFunction ← Constant#20, Constant#23 Object 25 Unbox LoadFixedSlot#21 to Object (fallible) Object 26 GuardIsNotProxy ← Unbox#25 Object 27 ObjectKeys ← GuardIsNotProxy#26 Object 28 GuardShape ← ObjectKeys#27 Object 29 Constant object 104289c3e088 (Array) Object 30 Constant function map (self-hosted:163) at 104289c47920 Object 31 Constant function complex5/< (-e:22) at 104289c63e08 Object 32 Lambda ← NewCallObject#8, Constant#31 Object 33 Constant 0x1 Int32 34 Constant function map (self-hosted:163) at 104289c47920 Object 35 GuardSpecificFunction ← Constant#30, Constant#34 Object 36 Goto → block 1 Block 1 37 Constant undefined Undefined 38 Constant function ToObject at 104289c6c740 Object 39 DebugCheckSelfHosted ← Constant#38 Value 40 Constant undefined Undefined 41 Constant 0x1 Int32 42 Constant function ToLength at 104289c6c778 Object 43 DebugCheckSelfHosted ← Constant#42 Value 44 Constant undefined Undefined 45 GuardShape ← ObjectKeys#27 Object 46 Elements ← GuardShape#45 Elements 47 ArrayLength ← Elements#46 Int32 48 Constant 0x1 Int32 49 Constant 0x0 Int32 50 MinMax ← ArrayLength#47, Constant#49 (max) Int32 51 Constant 0x1 Int32 52 Constant 0x0 Int32 53 Compare ← Constant#51, Constant#52 StrictEq Bool 54 Test ← Compare#53 → block 2, block 3 1 0 Block 2 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Constant undefined Undefined 58 Constant 0x37 Int32 59 Constant 0x0 Int32 60 Constant string 104289c2e080 String 61 Bail 62 UnreachableResult Value 63 Goto → block 3 Block 3 64 Constant function IsCallable at 104289c6c7b0 Object 65 DebugCheckSelfHosted ← Constant#64 Value 66 Constant undefined Undefined 67 Constant 0x1 Int32 68 IsCallable ← Lambda#32 Bool 69 Test ← IsCallable#68 → block 5, block 4 1 0 Block 4 70 CallGetIntrinsicValue Value 71 DebugCheckSelfHosted ← CallGetIntrinsicValue#70 Value 72 Constant undefined Undefined 73 Constant 0xc Int32 74 CallGetIntrinsicValue Value 75 DebugCheckSelfHosted ← CallGetIntrinsicValue#74 Value 76 Constant undefined Undefined 77 Constant 0x0 Int32 78 Bail 79 UnreachableResult Value 80 Bail 81 UnreachableResult Value 82 Goto → block 5 Block 5 83 Constant 0x1 Int32 84 Constant 0x1 Int32 85 Compare ← Constant#83, Constant#84 Gt Bool 86 Test ← Compare#85 → block 6, block 7 1 0 Block 6 87 Constant 0x1 Int32 88 GetInlinedArgument ← Constant#87, Lambda#32 Value 89 Goto → block 8 Block 7 90 Constant undefined Undefined 91 Goto → block 8 Block 8 92 Phi ← Constant#90, GetInlinedArgument#88 Value 93 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 94 DebugCheckSelfHosted ← Constant#93 Value 95 Constant undefined Undefined 96 Constant 0x1 Int32 97 HasShape ← ObjectKeys#27 Bool 98 Test ← HasShape#97 → block 9, block 10 1 0 Block 9 99 Constant function std_Array at 104289c6c820 Object 100 DebugCheckSelfHosted ← Constant#99 Value 101 Constant undefined Undefined 102 Constant 0x1 Int32 103 Unbox DebugCheckSelfHosted#100 to Object (fallible) Object 104 Constant function std_Array at 104289c6c820 Object 105 GuardSpecificFunction ← Unbox#103, Constant#104 Object 106 NewArrayDynamicLength ← MinMax#50 Object 107 Goto → block 11 Block 10 108 CallGetIntrinsicValue Value 109 DebugCheckSelfHosted ← CallGetIntrinsicValue#108 Value 110 Constant undefined Undefined 111 Bail 112 UnreachableResult Value 113 Goto → block 11 Block 11 114 Phi ← UnreachableResult#112, NewArrayDynamicLength#106 Value 115 Constant 0x0 Int32 127 Goto → block 12 Block 12 (loop header) 116 Phi ← Constant#37, Constant#37 Value 117 Phi ← Constant#37, Constant#37 Value 118 Phi ← ObjectKeys#27, ObjectKeys#27 Value 119 Phi ← Lambda#32, Lambda#32 Value 120 Phi ← ObjectKeys#27, ObjectKeys#27 Value 121 Phi ← MinMax#50, MinMax#50 Value 122 Phi ← Phi#92, Phi#92 Value 123 Phi ← Phi#114, Phi#114 Value 124 Phi ← Constant#115, Add#173 Value 125 Phi ← Constant#37, Phi#170 Value 126 Phi ← ObjectKeys#27, ObjectKeys#27 Value 128 InterruptCheck 129 Unbox Phi#124 to Int32 (fallible) Int32 130 Unbox Phi#121 to Int32 (fallible) Int32 131 Compare ← Unbox#129, Unbox#130 Lt Bool 132 Test ← Compare#131 → block 13, block 18 1 0 Block 13 133 Unbox Phi#120 to Object (fallible) Object 134 Unbox Phi#124 to Int32 (fallible) Int32 135 GuardShape ← Unbox#133 Object 136 Elements ← GuardShape#135 Elements 137 InitializedLength ← Elements#136 Int32 138 BoundsCheck ← Unbox#134, InitializedLength#137 Int32 139 SpectreMaskIndex ← BoundsCheck#138, InitializedLength#137 Int32 140 GuardElementNotHole ← Elements#136, SpectreMaskIndex#139 141 Constant true Bool 142 Test ← Constant#141 → block 14, block 17 1 0 Block 14 143 Unbox Phi#120 to Object (fallible) Object 144 Unbox Phi#124 to Int32 (fallible) Int32 145 GuardShape ← Unbox#143 Object 146 Elements ← GuardShape#145 Elements 147 InitializedLength ← Elements#146 Int32 148 BoundsCheck ← Unbox#144, InitializedLength#147 Int32 149 SpectreMaskIndex ← BoundsCheck#148, InitializedLength#147 Int32 150 GuardElementsArePacked ← Elements#146 151 LoadElement ← Elements#146, SpectreMaskIndex#149 Value 152 Constant 0x3 Int32 153 Unbox Phi#119 to Object (fallible) Object 154 GuardToFunction ← Unbox#153 Object 155 GuardFunctionScript ← GuardToFunction#154 Object 156 Goto → block 15 Block 15 157 Constant undefined Undefined 158 FunctionEnvironment ← GuardFunctionScript#155 Object 159 LoadFixedSlot ← FunctionEnvironment#158 (slot 2) Value 160 Unbox LoadFixedSlot#159 to Object (fallible) Object 161 MegamorphicLoadSlotByValue ← Unbox#160, LoadElement#151 Value 163 Goto → block 16 Block 16 164 Unbox Phi#123 to Object (fallible) Object 165 Unbox Phi#124 to Int32 (fallible) Int32 166 GuardShape ← Unbox#164 Object 167 Elements ← GuardShape#166 Elements 168 StoreElementHole ← GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161 169 Goto → block 17 Block 17 (backedge) 170 Phi ← MegamorphicLoadSlotByValue#161, Phi#125 Value 171 Unbox Phi#124 to Int32 (fallible) Int32 172 Constant 0x1 Int32 173 Add ← Unbox#171, Constant#172 [int32] Int32 174 Goto → block 12 Block 18 176 Goto → block 19 Block 19 177 Unbox Phi#123 to Object (fallible) Object 178 GuardShape ← Unbox#177 Object 179 Constant object 104289c3e088 (Array) Object 180 Constant function reduce (self-hosted:205) at 104289c479c0 Object 181 Constant function complex5/< (-e:22) at 104289c63e40 Object 182 Lambda ← NewCallObject#8, Constant#181 Object 183 Constant 0x0 Int32 184 Constant 0x2 Int32 185 Constant function reduce (self-hosted:205) at 104289c479c0 Object 186 GuardSpecificFunction ← Constant#180, Constant#185 Object 187 Call ← GuardSpecificFunction#186, Phi#123, Lambda#182, Constant#183 Value 188 Return ← Call#187
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 AssertCanElidePostWriteBarrier ← NewCallObject#8, FunctionEnvironment#6 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Callee#5 11 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 12 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 13 PostWriteBarrier ← NewCallObject#8, Parameter#1 14 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 15 Constant object 104289c3f040 (LexicalEnvironment) Object 16 Constant object 104289c3e030 (global) Object 17 Constant function Object at 104289c422e0 Object 18 Constant function Object at 104289c422e0 Object 19 GuardObjectIdentity ← Constant#17, Constant#18 Object 20 Constant function keys at 104289c42468 Object 21 LoadFixedSlot ← NewCallObject#8 (slot 2) Value 22 Constant 0x1 Int32 23 Constant function keys at 104289c42468 Object 24 GuardSpecificFunction ← Constant#20, Constant#23 Object 25 Unbox LoadFixedSlot#21 to Object (fallible) Object 26 GuardIsNotProxy ← Unbox#25 Object 27 ObjectKeys ← GuardIsNotProxy#26 Object 28 GuardShape ← ObjectKeys#27 Object 29 Constant object 104289c3e088 (Array) Object 30 Constant function map (self-hosted:163) at 104289c47920 Object 31 Constant function complex5/< (-e:22) at 104289c63e08 Object 32 Lambda ← NewCallObject#8, Constant#31 Object 33 Constant 0x1 Int32 34 Constant function map (self-hosted:163) at 104289c47920 Object 35 GuardSpecificFunction ← Constant#30, Constant#34 Object 36 Goto → block 1 Block 1 37 Constant undefined Undefined 38 Constant function ToObject at 104289c6c740 Object 39 DebugCheckSelfHosted ← Constant#38 Value 40 Constant undefined Undefined 41 Constant 0x1 Int32 42 Constant function ToLength at 104289c6c778 Object 43 DebugCheckSelfHosted ← Constant#42 Value 44 Constant undefined Undefined 45 GuardShape ← ObjectKeys#27 Object 46 Elements ← GuardShape#45 Elements 47 ArrayLength ← Elements#46 Int32 48 Constant 0x1 Int32 49 Constant 0x0 Int32 50 MinMax ← ArrayLength#47, Constant#49 (max) Int32 51 Constant 0x1 Int32 52 Constant 0x0 Int32 53 Compare ← Constant#51, Constant#52 StrictEq Bool 54 Test ← Compare#53 → block 2, block 3 1 0 Block 2 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Constant undefined Undefined 58 Constant 0x37 Int32 59 Constant 0x0 Int32 60 Constant string 104289c2e080 String 61 Bail 191 Unreachable Block 3 64 Constant function IsCallable at 104289c6c7b0 Object 65 DebugCheckSelfHosted ← Constant#64 Value 66 Constant undefined Undefined 67 Constant 0x1 Int32 68 IsCallable ← Lambda#32 Bool 69 Test ← IsCallable#68 → block 5, block 4 1 0 Block 4 70 CallGetIntrinsicValue Value 71 DebugCheckSelfHosted ← CallGetIntrinsicValue#70 Value 72 Constant undefined Undefined 73 Constant 0xc Int32 74 CallGetIntrinsicValue Value 75 DebugCheckSelfHosted ← CallGetIntrinsicValue#74 Value 76 Constant undefined Undefined 77 Constant 0x0 Int32 78 Bail 190 Unreachable Block 5 83 Constant 0x1 Int32 84 Constant 0x1 Int32 85 Compare ← Constant#83, Constant#84 Gt Bool 86 Test ← Compare#85 → block 6, block 7 1 0 Block 6 87 Constant 0x1 Int32 88 GetInlinedArgument ← Constant#87, Lambda#32 Value 89 Goto → block 8 Block 7 90 Constant undefined Undefined 91 Goto → block 8 Block 8 92 Phi ← Constant#90, GetInlinedArgument#88 Value 93 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 94 DebugCheckSelfHosted ← Constant#93 Value 95 Constant undefined Undefined 96 Constant 0x1 Int32 97 HasShape ← ObjectKeys#27 Bool 98 Test ← HasShape#97 → block 9, block 10 1 0 Block 9 99 Constant function std_Array at 104289c6c820 Object 100 DebugCheckSelfHosted ← Constant#99 Value 101 Constant undefined Undefined 102 Constant 0x1 Int32 103 Unbox DebugCheckSelfHosted#100 to Object (fallible) Object 104 Constant function std_Array at 104289c6c820 Object 105 GuardSpecificFunction ← Unbox#103, Constant#104 Object 106 NewArrayDynamicLength ← MinMax#50 Object 107 Goto → block 11 Block 10 108 CallGetIntrinsicValue Value 109 DebugCheckSelfHosted ← CallGetIntrinsicValue#108 Value 110 Constant undefined Undefined 111 Bail 189 Unreachable Block 11 114 Phi ← NewArrayDynamicLength#106 Value 115 Constant 0x0 Int32 127 Goto → block 12 Block 12 (loop header) 116 Phi ← Constant#37, Constant#37 Value 117 Phi ← Constant#37, Constant#37 Value 118 Phi ← ObjectKeys#27, ObjectKeys#27 Value 119 Phi ← Lambda#32, Lambda#32 Value 120 Phi ← ObjectKeys#27, ObjectKeys#27 Value 121 Phi ← MinMax#50, MinMax#50 Value 122 Phi ← Phi#92, Phi#92 Value 123 Phi ← Phi#114, Phi#114 Value 124 Phi ← Constant#115, Add#173 Value 125 Phi ← Constant#37, Phi#170 Value 126 Phi ← ObjectKeys#27, ObjectKeys#27 Value 128 InterruptCheck 129 Unbox Phi#124 to Int32 (fallible) Int32 130 Unbox Phi#121 to Int32 (fallible) Int32 131 Compare ← Unbox#129, Unbox#130 Lt Bool 132 Test ← Compare#131 → block 13, block 18 1 0 Block 13 133 Unbox Phi#120 to Object (fallible) Object 134 Unbox Phi#124 to Int32 (fallible) Int32 135 GuardShape ← Unbox#133 Object 136 Elements ← GuardShape#135 Elements 137 InitializedLength ← Elements#136 Int32 138 BoundsCheck ← Unbox#134, InitializedLength#137 Int32 139 SpectreMaskIndex ← BoundsCheck#138, InitializedLength#137 Int32 140 GuardElementNotHole ← Elements#136, SpectreMaskIndex#139 141 Constant true Bool 142 Test ← Constant#141 → block 14, block 17 1 0 Block 14 143 Unbox Phi#120 to Object (fallible) Object 144 Unbox Phi#124 to Int32 (fallible) Int32 145 GuardShape ← Unbox#143 Object 146 Elements ← GuardShape#145 Elements 147 InitializedLength ← Elements#146 Int32 148 BoundsCheck ← Unbox#144, InitializedLength#147 Int32 149 SpectreMaskIndex ← BoundsCheck#148, InitializedLength#147 Int32 150 GuardElementsArePacked ← Elements#146 151 LoadElement ← Elements#146, SpectreMaskIndex#149 Value 152 Constant 0x3 Int32 153 Unbox Phi#119 to Object (fallible) Object 154 GuardToFunction ← Unbox#153 Object 155 GuardFunctionScript ← GuardToFunction#154 Object 156 Goto → block 15 Block 15 157 Constant undefined Undefined 158 FunctionEnvironment ← GuardFunctionScript#155 Object 159 LoadFixedSlot ← FunctionEnvironment#158 (slot 2) Value 160 Unbox LoadFixedSlot#159 to Object (fallible) Object 161 MegamorphicLoadSlotByValue ← Unbox#160, LoadElement#151 Value 163 Goto → block 16 Block 16 164 Unbox Phi#123 to Object (fallible) Object 165 Unbox Phi#124 to Int32 (fallible) Int32 166 GuardShape ← Unbox#164 Object 167 Elements ← GuardShape#166 Elements 168 StoreElementHole ← GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161 169 Goto → block 17 Block 17 (backedge) 170 Phi ← MegamorphicLoadSlotByValue#161, Phi#125 Value 171 Unbox Phi#124 to Int32 (fallible) Int32 172 Constant 0x1 Int32 173 Add ← Unbox#171, Constant#172 [int32] Int32 174 Goto → block 12 Block 18 176 Goto → block 19 Block 19 177 Unbox Phi#123 to Object (fallible) Object 178 GuardShape ← Unbox#177 Object 179 Constant object 104289c3e088 (Array) Object 180 Constant function reduce (self-hosted:205) at 104289c479c0 Object 181 Constant function complex5/< (-e:22) at 104289c63e40 Object 182 Lambda ← NewCallObject#8, Constant#181 Object 183 Constant 0x0 Int32 184 Constant 0x2 Int32 185 Constant function reduce (self-hosted:205) at 104289c479c0 Object 186 GuardSpecificFunction ← Constant#180, Constant#185 Object 187 Call ← GuardSpecificFunction#186, Phi#123, Lambda#182, Constant#183 Value 188 Return ← Call#187
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 AssertCanElidePostWriteBarrier ← NewCallObject#8, FunctionEnvironment#6 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Callee#5 11 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 12 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 13 PostWriteBarrier ← NewCallObject#8, Parameter#1 14 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 15 Constant object 104289c3f040 (LexicalEnvironment) Object 16 Constant object 104289c3e030 (global) Object 17 Constant function Object at 104289c422e0 Object 18 Constant function Object at 104289c422e0 Object 19 GuardObjectIdentity ← Constant#17, Constant#18 Object 20 Constant function keys at 104289c42468 Object 21 LoadFixedSlot ← NewCallObject#8 (slot 2) Value 22 Constant 0x1 Int32 23 Constant function keys at 104289c42468 Object 24 GuardSpecificFunction ← Constant#20, Constant#23 Object 25 Unbox LoadFixedSlot#21 to Object (fallible) Object 26 GuardIsNotProxy ← Unbox#25 Object 27 ObjectKeys ← GuardIsNotProxy#26 Object 28 GuardShape ← ObjectKeys#27 Object 29 Constant object 104289c3e088 (Array) Object 30 Constant function map (self-hosted:163) at 104289c47920 Object 31 Constant function complex5/< (-e:22) at 104289c63e08 Object 32 Lambda ← NewCallObject#8, Constant#31 Object 33 Constant 0x1 Int32 34 Constant function map (self-hosted:163) at 104289c47920 Object 35 GuardSpecificFunction ← Constant#30, Constant#34 Object 36 Goto → block 1 Block 1 37 Constant undefined Undefined 38 Constant function ToObject at 104289c6c740 Object 39 DebugCheckSelfHosted ← Constant#38 Value 40 Constant undefined Undefined 41 Constant 0x1 Int32 42 Constant function ToLength at 104289c6c778 Object 43 DebugCheckSelfHosted ← Constant#42 Value 44 Constant undefined Undefined 45 GuardShape ← ObjectKeys#27 Object 46 Elements ← GuardShape#45 Elements 47 ArrayLength ← Elements#46 Int32 48 Constant 0x1 Int32 49 Constant 0x0 Int32 50 MinMax ← ArrayLength#47, Constant#49 (max) Int32 51 Constant 0x1 Int32 52 Constant 0x0 Int32 53 Compare ← Constant#51, Constant#52 StrictEq Bool 54 Test ← Compare#53 → block 2, block 3 1 0 Block 2 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Constant undefined Undefined 58 Constant 0x37 Int32 59 Constant 0x0 Int32 60 Constant string 104289c2e080 String 61 Bail 191 Unreachable Block 3 64 Constant function IsCallable at 104289c6c7b0 Object 65 DebugCheckSelfHosted ← Constant#64 Value 66 Constant undefined Undefined 67 Constant 0x1 Int32 68 IsCallable ← Lambda#32 Bool 69 Test ← IsCallable#68 → block 5, block 4 1 0 Block 4 70 CallGetIntrinsicValue Value 71 DebugCheckSelfHosted ← CallGetIntrinsicValue#70 Value 72 Constant undefined Undefined 73 Constant 0xc Int32 74 CallGetIntrinsicValue Value 75 DebugCheckSelfHosted ← CallGetIntrinsicValue#74 Value 76 Constant undefined Undefined 77 Constant 0x0 Int32 78 Bail 190 Unreachable Block 5 83 Constant 0x1 Int32 84 Constant 0x1 Int32 85 Compare ← Constant#83, Constant#84 Gt Bool 86 Test ← Compare#85 → block 6, block 7 1 0 Block 6 87 Constant 0x1 Int32 88 GetInlinedArgument ← Constant#87, Lambda#32 Value 89 Goto → block 8 Block 7 90 Constant undefined Undefined 91 Goto → block 8 Block 8 92 Phi ← Constant#90, GetInlinedArgument#88 Value 93 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 94 DebugCheckSelfHosted ← Constant#93 Value 95 Constant undefined Undefined 96 Constant 0x1 Int32 97 HasShape ← ObjectKeys#27 Bool 98 Test ← HasShape#97 → block 9, block 10 1 0 Block 9 99 Constant function std_Array at 104289c6c820 Object 100 DebugCheckSelfHosted ← Constant#99 Value 101 Constant undefined Undefined 102 Constant 0x1 Int32 103 Unbox DebugCheckSelfHosted#100 to Object (fallible) Object 104 Constant function std_Array at 104289c6c820 Object 105 GuardSpecificFunction ← Unbox#103, Constant#104 Object 106 NewArrayDynamicLength ← MinMax#50 Object 107 Goto → block 11 Block 10 108 CallGetIntrinsicValue Value 109 DebugCheckSelfHosted ← CallGetIntrinsicValue#108 Value 110 Constant undefined Undefined 111 Bail 189 Unreachable Block 11 114 Phi ← NewArrayDynamicLength#106 Value 115 Constant 0x0 Int32 127 Goto → block 12 Block 12 (loop header) 116 Phi ← Constant#37, Constant#37 Value 117 Phi ← Constant#37, Constant#37 Value 118 Phi ← ObjectKeys#27, ObjectKeys#27 Value 119 Phi ← Lambda#32, Lambda#32 Value 120 Phi ← ObjectKeys#27, ObjectKeys#27 Value 121 Phi ← MinMax#50, MinMax#50 Value 122 Phi ← Phi#92, Phi#92 Value 123 Phi ← Phi#114, Phi#114 Value 124 Phi ← Constant#115, Add#173 Value 125 Phi ← Constant#37, Phi#170 Value 126 Phi ← ObjectKeys#27, ObjectKeys#27 Value 128 InterruptCheck 129 Unbox Phi#124 to Int32 (fallible) Int32 130 Unbox Phi#121 to Int32 (fallible) Int32 131 Compare ← Unbox#129, Unbox#130 Lt Bool 132 Test ← Compare#131 → block 13, block 19 1 0 Block 13 133 Unbox Phi#120 to Object (fallible) Object 134 Unbox Phi#124 to Int32 (fallible) Int32 135 GuardShape ← Unbox#133 Object 136 Elements ← GuardShape#135 Elements 137 InitializedLength ← Elements#136 Int32 138 BoundsCheck ← Unbox#134, InitializedLength#137 Int32 139 SpectreMaskIndex ← BoundsCheck#138, InitializedLength#137 Int32 140 GuardElementNotHole ← Elements#136, SpectreMaskIndex#139 141 Constant true Bool 142 Test ← Constant#141 → block 14, block 17 1 0 Block 14 143 Unbox Phi#120 to Object (fallible) Object 144 Unbox Phi#124 to Int32 (fallible) Int32 145 GuardShape ← Unbox#143 Object 146 Elements ← GuardShape#145 Elements 147 InitializedLength ← Elements#146 Int32 148 BoundsCheck ← Unbox#144, InitializedLength#147 Int32 149 SpectreMaskIndex ← BoundsCheck#148, InitializedLength#147 Int32 150 GuardElementsArePacked ← Elements#146 151 LoadElement ← Elements#146, SpectreMaskIndex#149 Value 152 Constant 0x3 Int32 153 Unbox Phi#119 to Object (fallible) Object 154 GuardToFunction ← Unbox#153 Object 155 GuardFunctionScript ← GuardToFunction#154 Object 156 Goto → block 15 Block 15 157 Constant undefined Undefined 158 FunctionEnvironment ← GuardFunctionScript#155 Object 159 LoadFixedSlot ← FunctionEnvironment#158 (slot 2) Value 160 Unbox LoadFixedSlot#159 to Object (fallible) Object 161 MegamorphicLoadSlotByValue ← Unbox#160, LoadElement#151 Value 163 Goto → block 16 Block 16 164 Unbox Phi#123 to Object (fallible) Object 165 Unbox Phi#124 to Int32 (fallible) Int32 166 GuardShape ← Unbox#164 Object 167 Elements ← GuardShape#166 Elements 168 StoreElementHole ← GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161 169 Goto → block 17 Block 17 (backedge) 170 Phi ← MegamorphicLoadSlotByValue#161, Phi#125 Value 171 Unbox Phi#124 to Int32 (fallible) Int32 172 Constant 0x1 Int32 173 Add ← Unbox#171, Constant#172 [int32] Int32 174 Goto → block 12 Block 19 177 Unbox Phi#123 to Object (fallible) Object 178 GuardShape ← Unbox#177 Object 179 Constant object 104289c3e088 (Array) Object 180 Constant function reduce (self-hosted:205) at 104289c479c0 Object 181 Constant function complex5/< (-e:22) at 104289c63e40 Object 182 Lambda ← NewCallObject#8, Constant#181 Object 183 Constant 0x0 Int32 184 Constant 0x2 Int32 185 Constant function reduce (self-hosted:205) at 104289c479c0 Object 186 GuardSpecificFunction ← Constant#180, Constant#185 Object 187 Call ← GuardSpecificFunction#186, Phi#123, Lambda#182, Constant#183 Value 188 Return ← Call#187
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 AssertCanElidePostWriteBarrier ← NewCallObject#8, FunctionEnvironment#6 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Callee#5 11 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 12 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 13 PostWriteBarrier ← NewCallObject#8, Parameter#1 14 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 15 Constant object 104289c3f040 (LexicalEnvironment) Object 16 Constant object 104289c3e030 (global) Object 17 Constant function Object at 104289c422e0 Object 18 Constant function Object at 104289c422e0 Object 19 GuardObjectIdentity ← Constant#17, Constant#18 Object 20 Constant function keys at 104289c42468 Object 21 LoadFixedSlot ← NewCallObject#8 (slot 2) Value 22 Constant 0x1 Int32 23 Constant function keys at 104289c42468 Object 24 GuardSpecificFunction ← Constant#20, Constant#23 Object 25 Unbox LoadFixedSlot#21 to Object (fallible) Object 26 GuardIsNotProxy ← Unbox#25 Object 27 ObjectKeys ← GuardIsNotProxy#26 Object 28 GuardShape ← ObjectKeys#27 Object 29 Constant object 104289c3e088 (Array) Object 30 Constant function map (self-hosted:163) at 104289c47920 Object 31 Constant function complex5/< (-e:22) at 104289c63e08 Object 32 Lambda ← NewCallObject#8, Constant#31 Object 33 Constant 0x1 Int32 34 Constant function map (self-hosted:163) at 104289c47920 Object 35 GuardSpecificFunction ← Constant#30, Constant#34 Object 36 Goto → block 1 Block 1 37 Constant undefined Undefined 38 Constant function ToObject at 104289c6c740 Object 39 DebugCheckSelfHosted ← Constant#38 Value 40 Constant undefined Undefined 41 Constant 0x1 Int32 42 Constant function ToLength at 104289c6c778 Object 43 DebugCheckSelfHosted ← Constant#42 Value 44 Constant undefined Undefined 45 GuardShape ← ObjectKeys#27 Object 46 Elements ← GuardShape#45 Elements 47 ArrayLength ← Elements#46 Int32 48 Constant 0x1 Int32 49 Constant 0x0 Int32 50 MinMax ← ArrayLength#47, Constant#49 (max) Int32 51 Constant 0x1 Int32 52 Constant 0x0 Int32 53 Compare ← Constant#51, Constant#52 StrictEq Bool 54 Test ← Compare#53 → block 2, block 3 1 0 Block 2 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Constant undefined Undefined 58 Constant 0x37 Int32 59 Constant 0x0 Int32 60 Constant string 104289c2e080 String 61 Bail 191 Unreachable Block 3 64 Constant function IsCallable at 104289c6c7b0 Object 65 DebugCheckSelfHosted ← Constant#64 Value 66 Constant undefined Undefined 67 Constant 0x1 Int32 68 IsCallable ← Lambda#32 Bool 69 Test ← IsCallable#68 → block 5, block 4 1 0 Block 4 70 CallGetIntrinsicValue Value 71 DebugCheckSelfHosted ← CallGetIntrinsicValue#70 Value 72 Constant undefined Undefined 73 Constant 0xc Int32 74 CallGetIntrinsicValue Value 75 DebugCheckSelfHosted ← CallGetIntrinsicValue#74 Value 76 Constant undefined Undefined 77 Constant 0x0 Int32 78 Bail 190 Unreachable Block 5 83 Constant 0x1 Int32 84 Constant 0x1 Int32 85 Compare ← Constant#83, Constant#84 Gt Bool 86 Test ← Compare#85 → block 6, block 7 1 0 Block 6 87 Constant 0x1 Int32 88 GetInlinedArgument ← Constant#87, Lambda#32 Value 89 Goto → block 8 Block 7 90 Constant undefined Undefined 91 Goto → block 8 Block 8 92 Phi ← Constant#90, GetInlinedArgument#88 Value 93 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 94 DebugCheckSelfHosted ← Constant#93 Value 95 Constant undefined Undefined 96 Constant 0x1 Int32 97 HasShape ← ObjectKeys#27 Bool 98 Test ← HasShape#97 → block 9, block 10 1 0 Block 9 99 Constant function std_Array at 104289c6c820 Object 100 DebugCheckSelfHosted ← Constant#99 Value 101 Constant undefined Undefined 102 Constant 0x1 Int32 103 Unbox DebugCheckSelfHosted#100 to Object (fallible) Object 104 Constant function std_Array at 104289c6c820 Object 105 GuardSpecificFunction ← Unbox#103, Constant#104 Object 106 NewArrayDynamicLength ← MinMax#50 Object 107 Goto → block 11 Block 10 108 CallGetIntrinsicValue Value 109 DebugCheckSelfHosted ← CallGetIntrinsicValue#108 Value 110 Constant undefined Undefined 111 Bail 189 Unreachable Block 11 114 Phi ← NewArrayDynamicLength#106 Value 115 Constant 0x0 Int32 127 Goto → block 12 Block 12 (loop header) 116 Phi ← Constant#37, Constant#37 Value 117 Phi ← Constant#37, Constant#37 Value 118 Phi ← ObjectKeys#27, ObjectKeys#27 Value 119 Phi ← Lambda#32, Lambda#32 Value 120 Phi ← ObjectKeys#27, ObjectKeys#27 Value 121 Phi ← MinMax#50, MinMax#50 Value 122 Phi ← Phi#92, Phi#92 Value 123 Phi ← Phi#114, Phi#114 Value 124 Phi ← Constant#115, Add#173 Value 125 Phi ← Constant#37, Phi#170 Value 126 Phi ← ObjectKeys#27, ObjectKeys#27 Value 128 InterruptCheck 129 Unbox Phi#124 to Int32 (fallible) Int32 130 Unbox Phi#121 to Int32 (fallible) Int32 131 Compare ← Unbox#129, Unbox#130 Lt Bool 132 Test ← Compare#131 → block 13, block 19 1 0 Block 13 133 Unbox Phi#120 to Object (fallible) Object 134 Unbox Phi#124 to Int32 (fallible) Int32 135 GuardShape ← Unbox#133 Object 136 Elements ← GuardShape#135 Elements 137 InitializedLength ← Elements#136 Int32 138 BoundsCheck ← Unbox#134, InitializedLength#137 Int32 139 SpectreMaskIndex ← BoundsCheck#138, InitializedLength#137 Int32 140 GuardElementNotHole ← Elements#136, SpectreMaskIndex#139 141 Constant true Bool 142 Test ← Constant#141 → block 14, block 17 1 0 Block 14 143 Unbox Phi#120 to Object (fallible) Object 144 Unbox Phi#124 to Int32 (fallible) Int32 145 GuardShape ← Unbox#143 Object 146 Elements ← GuardShape#145 Elements 147 InitializedLength ← Elements#146 Int32 148 BoundsCheck ← Unbox#144, InitializedLength#147 Int32 149 SpectreMaskIndex ← BoundsCheck#148, InitializedLength#147 Int32 150 GuardElementsArePacked ← Elements#146 151 LoadElement ← Elements#146, SpectreMaskIndex#149 Value 152 Constant 0x3 Int32 153 Unbox Phi#119 to Object (fallible) Object 154 GuardToFunction ← Unbox#153 Object 155 GuardFunctionScript ← GuardToFunction#154 Object 156 Goto → block 15 Block 15 157 Constant undefined Undefined 158 FunctionEnvironment ← GuardFunctionScript#155 Object 159 LoadFixedSlot ← FunctionEnvironment#158 (slot 2) Value 160 Unbox LoadFixedSlot#159 to Object (fallible) Object 161 MegamorphicLoadSlotByValue ← Unbox#160, LoadElement#151 Value 163 Goto → block 16 Block 16 164 Unbox Phi#123 to Object (fallible) Object 165 Unbox Phi#124 to Int32 (fallible) Int32 166 GuardShape ← Unbox#164 Object 167 Elements ← GuardShape#166 Elements 168 StoreElementHole ← GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161 169 Goto → block 17 Block 17 (backedge) 170 Phi ← MegamorphicLoadSlotByValue#161, Phi#125 Value 171 Unbox Phi#124 to Int32 (fallible) Int32 172 Constant 0x1 Int32 173 Add ← Unbox#171, Constant#172 [int32] Int32 174 Goto → block 12 Block 19 177 Unbox Phi#123 to Object (fallible) Object 178 GuardShape ← Unbox#177 Object 179 Constant object 104289c3e088 (Array) Object 180 Constant function reduce (self-hosted:205) at 104289c479c0 Object 181 Constant function complex5/< (-e:22) at 104289c63e40 Object 182 Lambda ← NewCallObject#8, Constant#181 Object 183 Constant 0x0 Int32 184 Constant 0x2 Int32 185 Constant function reduce (self-hosted:205) at 104289c479c0 Object 186 GuardSpecificFunction ← Constant#180, Constant#185 Object 187 Call ← GuardSpecificFunction#186, Phi#123, Lambda#182, Constant#183 Value 188 Return ← Call#187
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 AssertCanElidePostWriteBarrier ← NewCallObject#8, FunctionEnvironment#6 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Callee#5 11 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 12 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 13 PostWriteBarrier ← NewCallObject#8, Parameter#1 14 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 15 Constant object 104289c3f040 (LexicalEnvironment) Object 16 Constant object 104289c3e030 (global) Object 17 Constant function Object at 104289c422e0 Object 18 Constant function Object at 104289c422e0 Object 19 GuardObjectIdentity ← Constant#17, Constant#18 Object 20 Constant function keys at 104289c42468 Object 21 LoadFixedSlot ← NewCallObject#8 (slot 2) Value 22 Constant 0x1 Int32 23 Constant function keys at 104289c42468 Object 24 GuardSpecificFunction ← Constant#20, Constant#23 Object 25 Unbox LoadFixedSlot#21 to Object (fallible) Object 26 GuardIsNotProxy ← Unbox#25 Object 27 ObjectKeys ← GuardIsNotProxy#26 Object 28 GuardShape ← ObjectKeys#27 Object 29 Constant object 104289c3e088 (Array) Object 30 Constant function map (self-hosted:163) at 104289c47920 Object 31 Constant function complex5/< (-e:22) at 104289c63e08 Object 32 Lambda ← NewCallObject#8, Constant#31 Object 33 Constant 0x1 Int32 34 Constant function map (self-hosted:163) at 104289c47920 Object 35 GuardSpecificFunction ← Constant#30, Constant#34 Object 36 Goto → block 1 Block 1 37 Constant undefined Undefined 38 Constant function ToObject at 104289c6c740 Object 39 DebugCheckSelfHosted ← Constant#38 Value 40 Constant undefined Undefined 41 Constant 0x1 Int32 42 Constant function ToLength at 104289c6c778 Object 43 DebugCheckSelfHosted ← Constant#42 Value 44 Constant undefined Undefined 45 GuardShape ← ObjectKeys#27 Object 46 Elements ← GuardShape#45 Elements 47 ArrayLength ← Elements#46 Int32 48 Constant 0x1 Int32 49 Constant 0x0 Int32 50 MinMax ← ArrayLength#47, Constant#49 (max) Int32 51 Constant 0x1 Int32 52 Constant 0x0 Int32 53 Compare ← Constant#51, Constant#52 StrictEq Bool 54 Test ← Compare#53 → block 2, block 3 1 0 Block 2 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Constant undefined Undefined 58 Constant 0x37 Int32 59 Constant 0x0 Int32 60 Constant string 104289c2e080 String 61 Bail 191 Unreachable Block 3 64 Constant function IsCallable at 104289c6c7b0 Object 65 DebugCheckSelfHosted ← Constant#64 Value 66 Constant undefined Undefined 67 Constant 0x1 Int32 68 IsCallable ← Lambda#32 Bool 69 Test ← IsCallable#68 → block 5, block 4 1 0 Block 4 70 CallGetIntrinsicValue Value 71 DebugCheckSelfHosted ← CallGetIntrinsicValue#70 Value 72 Constant undefined Undefined 73 Constant 0xc Int32 74 CallGetIntrinsicValue Value 75 DebugCheckSelfHosted ← CallGetIntrinsicValue#74 Value 76 Constant undefined Undefined 77 Constant 0x0 Int32 78 Bail 190 Unreachable Block 5 83 Constant 0x1 Int32 84 Constant 0x1 Int32 85 Compare ← Constant#83, Constant#84 Gt Bool 86 Test ← Compare#85 → block 6, block 7 1 0 Block 6 87 Constant 0x1 Int32 88 GetInlinedArgument ← Constant#87, Lambda#32 Value 89 Goto → block 8 Block 7 90 Constant undefined Undefined 91 Goto → block 8 Block 8 92 Phi ← Constant#90, GetInlinedArgument#88 Value 93 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 94 DebugCheckSelfHosted ← Constant#93 Value 95 Constant undefined Undefined 96 Constant 0x1 Int32 97 HasShape ← ObjectKeys#27 Bool 98 Test ← HasShape#97 → block 9, block 10 1 0 Block 9 99 Constant function std_Array at 104289c6c820 Object 100 DebugCheckSelfHosted ← Constant#99 Value 101 Constant undefined Undefined 102 Constant 0x1 Int32 103 Unbox DebugCheckSelfHosted#100 to Object (fallible) Object 104 Constant function std_Array at 104289c6c820 Object 105 GuardSpecificFunction ← Unbox#103, Constant#104 Object 106 NewArrayDynamicLength ← MinMax#50 Object 107 Goto → block 11 Block 10 108 CallGetIntrinsicValue Value 109 DebugCheckSelfHosted ← CallGetIntrinsicValue#108 Value 110 Constant undefined Undefined 111 Bail 189 Unreachable Block 11 114 Phi ← NewArrayDynamicLength#106 Value 115 Constant 0x0 Int32 127 Goto → block 12 Block 12 (loop header) 116 Phi ← Constant#37, Constant#37 Value 117 Phi ← Constant#37, Constant#37 Value 118 Phi ← ObjectKeys#27, ObjectKeys#27 Value 119 Phi ← Lambda#32, Lambda#32 Value 120 Phi ← ObjectKeys#27, ObjectKeys#27 Value 121 Phi ← MinMax#50, MinMax#50 Value 122 Phi ← Phi#92, Phi#92 Value 123 Phi ← Phi#114, Phi#114 Value 124 Phi ← Constant#115, Add#173 Value 125 Phi ← Constant#37, Phi#170 Value 126 Phi ← ObjectKeys#27, ObjectKeys#27 Value 128 InterruptCheck 129 Unbox Phi#124 to Int32 (fallible) Int32 130 Unbox Phi#121 to Int32 (fallible) Int32 131 Compare ← Unbox#129, Unbox#130 Lt Bool 132 Test ← Compare#131 → block 13, block 19 1 0 Block 13 133 Unbox Phi#120 to Object (fallible) Object 134 Unbox Phi#124 to Int32 (fallible) Int32 135 GuardShape ← Unbox#133 Object 136 Elements ← GuardShape#135 Elements 137 InitializedLength ← Elements#136 Int32 138 BoundsCheck ← Unbox#134, InitializedLength#137 Int32 139 SpectreMaskIndex ← BoundsCheck#138, InitializedLength#137 Int32 140 GuardElementNotHole ← Elements#136, SpectreMaskIndex#139 141 Constant true Bool 142 Test ← Constant#141 → block 14, block 17 1 0 Block 14 143 Unbox Phi#120 to Object (fallible) Object 144 Unbox Phi#124 to Int32 (fallible) Int32 145 GuardShape ← Unbox#143 Object 146 Elements ← GuardShape#145 Elements 147 InitializedLength ← Elements#146 Int32 148 BoundsCheck ← Unbox#144, InitializedLength#147 Int32 149 SpectreMaskIndex ← BoundsCheck#148, InitializedLength#147 Int32 150 GuardElementsArePacked ← Elements#146 151 LoadElement ← Elements#146, SpectreMaskIndex#149 Value 152 Constant 0x3 Int32 153 Unbox Phi#119 to Object (fallible) Object 154 GuardToFunction ← Unbox#153 Object 155 GuardFunctionScript ← GuardToFunction#154 Object 156 Goto → block 15 Block 15 157 Constant undefined Undefined 158 FunctionEnvironment ← GuardFunctionScript#155 Object 159 LoadFixedSlot ← FunctionEnvironment#158 (slot 2) Value 160 Unbox LoadFixedSlot#159 to Object (fallible) Object 161 MegamorphicLoadSlotByValue ← Unbox#160, LoadElement#151 Value 163 Goto → block 16 Block 16 164 Unbox Phi#123 to Object (fallible) Object 165 Unbox Phi#124 to Int32 (fallible) Int32 166 GuardShape ← Unbox#164 Object 167 Elements ← GuardShape#166 Elements 168 StoreElementHole ← GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161 169 Goto → block 17 Block 17 (backedge) 170 Phi ← MegamorphicLoadSlotByValue#161, Phi#125 Value 171 Unbox Phi#124 to Int32 (fallible) Int32 172 Constant 0x1 Int32 173 Add ← Unbox#171, Constant#172 [int32] Int32 174 Goto → block 12 Block 19 177 Unbox Phi#123 to Object (fallible) Object 178 GuardShape ← Unbox#177 Object 179 Constant object 104289c3e088 (Array) Object 180 Constant function reduce (self-hosted:205) at 104289c479c0 Object 181 Constant function complex5/< (-e:22) at 104289c63e40 Object 182 Lambda ← NewCallObject#8, Constant#181 Object 183 Constant 0x0 Int32 184 Constant 0x2 Int32 185 Constant function reduce (self-hosted:205) at 104289c479c0 Object 186 GuardSpecificFunction ← Constant#180, Constant#185 Object 187 Call ← GuardSpecificFunction#186, Phi#123, Lambda#182, Constant#183 Value 188 Return ← Call#187
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 AssertCanElidePostWriteBarrier ← NewCallObject#8, FunctionEnvironment#6 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Callee#5 11 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 12 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 13 PostWriteBarrier ← NewCallObject#8, Parameter#1 14 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 15 Constant object 104289c3f040 (LexicalEnvironment) Object 16 Constant object 104289c3e030 (global) Object 17 Constant function Object at 104289c422e0 Object 18 Constant function Object at 104289c422e0 Object 19 GuardObjectIdentity ← Constant#17, Constant#18 Object 20 Constant function keys at 104289c42468 Object 21 LoadFixedSlot ← NewCallObject#8 (slot 2) Value 22 Constant 0x1 Int32 23 Constant function keys at 104289c42468 Object 24 GuardSpecificFunction ← Constant#20, Constant#23 Object 25 Unbox LoadFixedSlot#21 to Object (fallible) Object 26 GuardIsNotProxy ← Unbox#25 Object 27 ObjectKeys ← GuardIsNotProxy#26 Object 28 GuardShape ← ObjectKeys#27 Object 29 Constant object 104289c3e088 (Array) Object 30 Constant function map (self-hosted:163) at 104289c47920 Object 31 Constant function complex5/< (-e:22) at 104289c63e08 Object 32 Lambda ← NewCallObject#8, Constant#31 Object 33 Constant 0x1 Int32 34 Constant function map (self-hosted:163) at 104289c47920 Object 35 GuardSpecificFunction ← Constant#30, Constant#34 Object 36 Goto → block 1 Block 1 37 Constant undefined Undefined 38 Constant function ToObject at 104289c6c740 Object 39 DebugCheckSelfHosted ← Constant#38 Value 40 Constant undefined Undefined 41 Constant 0x1 Int32 42 Constant function ToLength at 104289c6c778 Object 43 DebugCheckSelfHosted ← Constant#42 Value 44 Constant undefined Undefined 45 GuardShape ← ObjectKeys#27 Object 46 Elements ← GuardShape#45 Elements 47 ArrayLength ← Elements#46 Int32 48 Constant 0x1 Int32 49 Constant 0x0 Int32 50 MinMax ← ArrayLength#47, Constant#49 (max) Int32 51 Constant 0x1 Int32 52 Constant 0x0 Int32 53 Compare ← Constant#51, Constant#52 StrictEq Bool 54 Test ← Compare#53 → block 2, block 3 1 0 Block 2 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Constant undefined Undefined 58 Constant 0x37 Int32 59 Constant 0x0 Int32 60 Constant string 104289c2e080 String 61 Bail 191 Unreachable Block 3 64 Constant function IsCallable at 104289c6c7b0 Object 65 DebugCheckSelfHosted ← Constant#64 Value 66 Constant undefined Undefined 67 Constant 0x1 Int32 68 IsCallable ← Lambda#32 Bool 69 Test ← IsCallable#68 → block 5, block 4 1 0 Block 4 70 CallGetIntrinsicValue Value 71 DebugCheckSelfHosted ← CallGetIntrinsicValue#70 Value 72 Constant undefined Undefined 73 Constant 0xc Int32 74 CallGetIntrinsicValue Value 75 DebugCheckSelfHosted ← CallGetIntrinsicValue#74 Value 76 Constant undefined Undefined 77 Constant 0x0 Int32 78 Bail 190 Unreachable Block 5 83 Constant 0x1 Int32 84 Constant 0x1 Int32 85 Compare ← Constant#83, Constant#84 Gt Bool 86 Test ← Compare#85 → block 6, block 7 1 0 Block 6 87 Constant 0x1 Int32 88 GetInlinedArgument ← Constant#87, Lambda#32 Value 89 Goto → block 8 Block 7 90 Constant undefined Undefined 91 Goto → block 8 Block 8 92 Phi ← Constant#90, GetInlinedArgument#88 Value 93 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 94 DebugCheckSelfHosted ← Constant#93 Value 95 Constant undefined Undefined 96 Constant 0x1 Int32 97 HasShape ← ObjectKeys#27 Bool 98 Test ← HasShape#97 → block 9, block 10 1 0 Block 9 99 Constant function std_Array at 104289c6c820 Object 100 DebugCheckSelfHosted ← Constant#99 Value 101 Constant undefined Undefined 102 Constant 0x1 Int32 103 Unbox DebugCheckSelfHosted#100 to Object (fallible) Object 104 Constant function std_Array at 104289c6c820 Object 105 GuardSpecificFunction ← Unbox#103, Constant#104 Object 106 NewArrayDynamicLength ← MinMax#50 Object 107 Goto → block 11 Block 10 108 CallGetIntrinsicValue Value 109 DebugCheckSelfHosted ← CallGetIntrinsicValue#108 Value 110 Constant undefined Undefined 111 Bail 189 Unreachable Block 11 114 Phi ← NewArrayDynamicLength#106 Value 115 Constant 0x0 Int32 127 Goto → block 12 Block 12 (loop header) 116 Phi ← Constant#37, Constant#37 Value 117 Phi ← Constant#37, Constant#37 Value 118 Phi ← ObjectKeys#27, ObjectKeys#27 Value 119 Phi ← Lambda#32, Lambda#32 Value 120 Phi ← ObjectKeys#27, ObjectKeys#27 Value 121 Phi ← MinMax#50, MinMax#50 Value 122 Phi ← Phi#92, Phi#92 Value 123 Phi ← Phi#114, Phi#114 Value 124 Phi ← Constant#115, Add#173 Value 125 Phi ← Constant#37, Phi#170 Value 126 Phi ← ObjectKeys#27, ObjectKeys#27 Value 128 InterruptCheck 129 Unbox Phi#124 to Int32 (fallible) Int32 130 Unbox Phi#121 to Int32 (fallible) Int32 131 Compare ← Unbox#129, Unbox#130 Lt Bool 132 Test ← Compare#131 → block 13, block 19 1 0 Block 13 133 Unbox Phi#120 to Object (fallible) Object 134 Unbox Phi#124 to Int32 (fallible) Int32 135 GuardShape ← Unbox#133 Object 136 Elements ← GuardShape#135 Elements 137 InitializedLength ← Elements#136 Int32 138 BoundsCheck ← Unbox#134, InitializedLength#137 Int32 139 SpectreMaskIndex ← BoundsCheck#138, InitializedLength#137 Int32 140 GuardElementNotHole ← Elements#136, SpectreMaskIndex#139 141 Constant true Bool 142 Test ← Constant#141 → block 14, block 20 1 0 Block 20 (split edge) 192 Goto → block 17 Block 14 143 Unbox Phi#120 to Object (fallible) Object 144 Unbox Phi#124 to Int32 (fallible) Int32 145 GuardShape ← Unbox#143 Object 146 Elements ← GuardShape#145 Elements 147 InitializedLength ← Elements#146 Int32 148 BoundsCheck ← Unbox#144, InitializedLength#147 Int32 149 SpectreMaskIndex ← BoundsCheck#148, InitializedLength#147 Int32 150 GuardElementsArePacked ← Elements#146 151 LoadElement ← Elements#146, SpectreMaskIndex#149 Value 152 Constant 0x3 Int32 153 Unbox Phi#119 to Object (fallible) Object 154 GuardToFunction ← Unbox#153 Object 155 GuardFunctionScript ← GuardToFunction#154 Object 156 Goto → block 15 Block 15 157 Constant undefined Undefined 158 FunctionEnvironment ← GuardFunctionScript#155 Object 159 LoadFixedSlot ← FunctionEnvironment#158 (slot 2) Value 160 Unbox LoadFixedSlot#159 to Object (fallible) Object 161 MegamorphicLoadSlotByValue ← Unbox#160, LoadElement#151 Value 163 Goto → block 16 Block 16 164 Unbox Phi#123 to Object (fallible) Object 165 Unbox Phi#124 to Int32 (fallible) Int32 166 GuardShape ← Unbox#164 Object 167 Elements ← GuardShape#166 Elements 168 StoreElementHole ← GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161 169 Goto → block 17 Block 17 (backedge) 170 Phi ← MegamorphicLoadSlotByValue#161, Phi#125 Value 171 Unbox Phi#124 to Int32 (fallible) Int32 172 Constant 0x1 Int32 173 Add ← Unbox#171, Constant#172 [int32] Int32 174 Goto → block 12 Block 19 177 Unbox Phi#123 to Object (fallible) Object 178 GuardShape ← Unbox#177 Object 179 Constant object 104289c3e088 (Array) Object 180 Constant function reduce (self-hosted:205) at 104289c479c0 Object 181 Constant function complex5/< (-e:22) at 104289c63e40 Object 182 Lambda ← NewCallObject#8, Constant#181 Object 183 Constant 0x0 Int32 184 Constant 0x2 Int32 185 Constant function reduce (self-hosted:205) at 104289c479c0 Object 186 GuardSpecificFunction ← Constant#180, Constant#185 Object 187 Call ← GuardSpecificFunction#186, Phi#123, Lambda#182, Constant#183 Value 188 Return ← Call#187
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 AssertCanElidePostWriteBarrier ← NewCallObject#8, FunctionEnvironment#6 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Callee#5 11 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 12 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 13 PostWriteBarrier ← NewCallObject#8, Parameter#1 14 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 15 Constant object 104289c3f040 (LexicalEnvironment) Object 16 Constant object 104289c3e030 (global) Object 17 Constant function Object at 104289c422e0 Object 18 Constant function Object at 104289c422e0 Object 19 GuardObjectIdentity ← Constant#17, Constant#18 Object 20 Constant function keys at 104289c42468 Object 21 LoadFixedSlot ← NewCallObject#8 (slot 2) Value 22 Constant 0x1 Int32 23 Constant function keys at 104289c42468 Object 24 GuardSpecificFunction ← Constant#20, Constant#23 Object 25 Unbox LoadFixedSlot#21 to Object (fallible) Object 26 GuardIsNotProxy ← Unbox#25 Object 27 ObjectKeys ← GuardIsNotProxy#26 Object 28 GuardShape ← ObjectKeys#27 Object 29 Constant object 104289c3e088 (Array) Object 30 Constant function map (self-hosted:163) at 104289c47920 Object 31 Constant function complex5/< (-e:22) at 104289c63e08 Object 32 Lambda ← NewCallObject#8, Constant#31 Object 33 Constant 0x1 Int32 34 Constant function map (self-hosted:163) at 104289c47920 Object 35 GuardSpecificFunction ← Constant#30, Constant#34 Object 36 Goto → block 1 Block 1 37 Constant undefined Undefined 38 Constant function ToObject at 104289c6c740 Object 39 DebugCheckSelfHosted ← Constant#38 Value 40 Constant undefined Undefined 41 Constant 0x1 Int32 42 Constant function ToLength at 104289c6c778 Object 43 DebugCheckSelfHosted ← Constant#42 Value 44 Constant undefined Undefined 45 GuardShape ← ObjectKeys#27 Object 46 Elements ← GuardShape#45 Elements 47 ArrayLength ← Elements#46 Int32 48 Constant 0x1 Int32 49 Constant 0x0 Int32 50 MinMax ← ArrayLength#47, Constant#49 (max) Int32 51 Constant 0x1 Int32 52 Constant 0x0 Int32 53 Compare ← Constant#51, Constant#52 StrictEq Bool 54 Test ← Compare#53 → block 2, block 3 1 0 Block 2 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Constant undefined Undefined 58 Constant 0x37 Int32 59 Constant 0x0 Int32 60 Constant string 104289c2e080 String 61 Bail 191 Unreachable Block 3 64 Constant function IsCallable at 104289c6c7b0 Object 65 DebugCheckSelfHosted ← Constant#64 Value 66 Constant undefined Undefined 67 Constant 0x1 Int32 68 IsCallable ← Lambda#32 Bool 69 Test ← IsCallable#68 → block 5, block 4 1 0 Block 4 70 CallGetIntrinsicValue Value 71 DebugCheckSelfHosted ← CallGetIntrinsicValue#70 Value 72 Constant undefined Undefined 73 Constant 0xc Int32 74 CallGetIntrinsicValue Value 75 DebugCheckSelfHosted ← CallGetIntrinsicValue#74 Value 76 Constant undefined Undefined 77 Constant 0x0 Int32 78 Bail 190 Unreachable Block 5 83 Constant 0x1 Int32 84 Constant 0x1 Int32 85 Compare ← Constant#83, Constant#84 Gt Bool 86 Test ← Compare#85 → block 6, block 7 1 0 Block 6 87 Constant 0x1 Int32 88 GetInlinedArgument ← Constant#87, Lambda#32 Value 89 Goto → block 8 Block 7 90 Constant undefined Undefined 91 Goto → block 8 Block 8 92 Phi ← Constant#90, GetInlinedArgument#88 Value 93 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 94 DebugCheckSelfHosted ← Constant#93 Value 95 Constant undefined Undefined 96 Constant 0x1 Int32 97 HasShape ← ObjectKeys#27 Bool 98 Test ← HasShape#97 → block 9, block 10 1 0 Block 9 99 Constant function std_Array at 104289c6c820 Object 100 DebugCheckSelfHosted ← Constant#99 Value 101 Constant undefined Undefined 102 Constant 0x1 Int32 103 Unbox DebugCheckSelfHosted#100 to Object (fallible) Object 104 Constant function std_Array at 104289c6c820 Object 105 GuardSpecificFunction ← Unbox#103, Constant#104 Object 106 NewArrayDynamicLength ← MinMax#50 Object 107 Goto → block 11 Block 10 108 CallGetIntrinsicValue Value 109 DebugCheckSelfHosted ← CallGetIntrinsicValue#108 Value 110 Constant undefined Undefined 111 Bail 189 Unreachable Block 11 114 Phi ← NewArrayDynamicLength#106 Value 115 Constant 0x0 Int32 127 Goto → block 12 Block 12 (loop header) 116 Phi ← Constant#37, Constant#37 Value 117 Phi ← Constant#37, Constant#37 Value 118 Phi ← ObjectKeys#27, ObjectKeys#27 Value 119 Phi ← Lambda#32, Lambda#32 Value 120 Phi ← ObjectKeys#27, ObjectKeys#27 Value 121 Phi ← MinMax#50, MinMax#50 Value 122 Phi ← Phi#92, Phi#92 Value 123 Phi ← Phi#114, Phi#114 Value 124 Phi ← Constant#115, Add#173 Value 125 Phi ← Constant#37, Phi#170 Value 126 Phi ← ObjectKeys#27, ObjectKeys#27 Value 128 InterruptCheck 129 Unbox Phi#124 to Int32 (fallible) Int32 130 Unbox Phi#121 to Int32 (fallible) Int32 131 Compare ← Unbox#129, Unbox#130 Lt Bool 132 Test ← Compare#131 → block 13, block 19 1 0 Block 13 133 Unbox Phi#120 to Object (fallible) Object 134 Unbox Phi#124 to Int32 (fallible) Int32 135 GuardShape ← Unbox#133 Object 136 Elements ← GuardShape#135 Elements 137 InitializedLength ← Elements#136 Int32 138 BoundsCheck ← Unbox#134, InitializedLength#137 Int32 139 SpectreMaskIndex ← BoundsCheck#138, InitializedLength#137 Int32 140 GuardElementNotHole ← Elements#136, SpectreMaskIndex#139 141 Constant true Bool 142 Test ← Constant#141 → block 15, block 14 1 0 Block 14 (split edge) 192 Goto → block 18 Block 15 143 Unbox Phi#120 to Object (fallible) Object 144 Unbox Phi#124 to Int32 (fallible) Int32 145 GuardShape ← Unbox#143 Object 146 Elements ← GuardShape#145 Elements 147 InitializedLength ← Elements#146 Int32 148 BoundsCheck ← Unbox#144, InitializedLength#147 Int32 149 SpectreMaskIndex ← BoundsCheck#148, InitializedLength#147 Int32 150 GuardElementsArePacked ← Elements#146 151 LoadElement ← Elements#146, SpectreMaskIndex#149 Value 152 Constant 0x3 Int32 153 Unbox Phi#119 to Object (fallible) Object 154 GuardToFunction ← Unbox#153 Object 155 GuardFunctionScript ← GuardToFunction#154 Object 156 Goto → block 16 Block 16 157 Constant undefined Undefined 158 FunctionEnvironment ← GuardFunctionScript#155 Object 159 LoadFixedSlot ← FunctionEnvironment#158 (slot 2) Value 160 Unbox LoadFixedSlot#159 to Object (fallible) Object 161 MegamorphicLoadSlotByValue ← Unbox#160, LoadElement#151 Value 163 Goto → block 17 Block 17 164 Unbox Phi#123 to Object (fallible) Object 165 Unbox Phi#124 to Int32 (fallible) Int32 166 GuardShape ← Unbox#164 Object 167 Elements ← GuardShape#166 Elements 168 StoreElementHole ← GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161 169 Goto → block 18 Block 18 (backedge) 170 Phi ← MegamorphicLoadSlotByValue#161, Phi#125 Value 171 Unbox Phi#124 to Int32 (fallible) Int32 172 Constant 0x1 Int32 173 Add ← Unbox#171, Constant#172 [int32] Int32 174 Goto → block 12 Block 19 177 Unbox Phi#123 to Object (fallible) Object 178 GuardShape ← Unbox#177 Object 179 Constant object 104289c3e088 (Array) Object 180 Constant function reduce (self-hosted:205) at 104289c479c0 Object 181 Constant function complex5/< (-e:22) at 104289c63e40 Object 182 Lambda ← NewCallObject#8, Constant#181 Object 183 Constant 0x0 Int32 184 Constant 0x2 Int32 185 Constant function reduce (self-hosted:205) at 104289c479c0 Object 186 GuardSpecificFunction ← Constant#180, Constant#185 Object 187 Call ← GuardSpecificFunction#186, Phi#123, Lambda#182, Constant#183 Value 188 Return ← Call#187
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 AssertCanElidePostWriteBarrier ← NewCallObject#8, FunctionEnvironment#6 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Callee#5 11 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 12 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 13 PostWriteBarrier ← NewCallObject#8, Parameter#1 14 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 15 Constant object 104289c3f040 (LexicalEnvironment) Object 16 Constant object 104289c3e030 (global) Object 17 Constant function Object at 104289c422e0 Object 18 Constant function Object at 104289c422e0 Object 19 GuardObjectIdentity ← Constant#17, Constant#18 Object 20 Constant function keys at 104289c42468 Object 21 LoadFixedSlot ← NewCallObject#8 (slot 2) Value 22 Constant 0x1 Int32 23 Constant function keys at 104289c42468 Object 24 GuardSpecificFunction ← Constant#20, Constant#23 Object 25 Unbox LoadFixedSlot#21 to Object (fallible) Object 26 GuardIsNotProxy ← Unbox#25 Object 27 ObjectKeys ← GuardIsNotProxy#26 Object 28 GuardShape ← ObjectKeys#27 Object 29 Constant object 104289c3e088 (Array) Object 30 Constant function map (self-hosted:163) at 104289c47920 Object 31 Constant function complex5/< (-e:22) at 104289c63e08 Object 32 Lambda ← NewCallObject#8, Constant#31 Object 33 Constant 0x1 Int32 34 Constant function map (self-hosted:163) at 104289c47920 Object 35 GuardSpecificFunction ← Constant#30, Constant#34 Object 36 Goto → block 1 Block 1 37 Constant undefined Undefined 38 Constant function ToObject at 104289c6c740 Object 39 DebugCheckSelfHosted ← Constant#38 Value 40 Constant undefined Undefined 41 Constant 0x1 Int32 42 Constant function ToLength at 104289c6c778 Object 43 DebugCheckSelfHosted ← Constant#42 Value 44 Constant undefined Undefined 45 GuardShape ← ObjectKeys#27 Object 46 Elements ← GuardShape#45 Elements 47 ArrayLength ← Elements#46 Int32 48 Constant 0x1 Int32 49 Constant 0x0 Int32 50 MinMax ← ArrayLength#47, Constant#49 (max) Int32 51 Constant 0x1 Int32 52 Constant 0x0 Int32 53 Compare ← Constant#51, Constant#52 StrictEq Bool 54 Test ← Compare#53 → block 2, block 3 1 0 Block 2 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Constant undefined Undefined 58 Constant 0x37 Int32 59 Constant 0x0 Int32 60 Constant string 104289c2e080 String 61 Bail 191 Unreachable Block 3 64 Constant function IsCallable at 104289c6c7b0 Object 65 DebugCheckSelfHosted ← Constant#64 Value 66 Constant undefined Undefined 67 Constant 0x1 Int32 68 IsCallable ← Lambda#32 Bool 69 Test ← IsCallable#68 → block 5, block 4 1 0 Block 4 70 CallGetIntrinsicValue Value 71 DebugCheckSelfHosted ← CallGetIntrinsicValue#70 Value 72 Constant undefined Undefined 73 Constant 0xc Int32 74 CallGetIntrinsicValue Value 75 DebugCheckSelfHosted ← CallGetIntrinsicValue#74 Value 76 Constant undefined Undefined 77 Constant 0x0 Int32 78 Bail 190 Unreachable Block 5 83 Constant 0x1 Int32 84 Constant 0x1 Int32 85 Compare ← Constant#83, Constant#84 Gt Bool 86 Test ← Compare#85 → block 6, block 7 1 0 Block 6 87 Constant 0x1 Int32 88 GetInlinedArgument ← Constant#87, Lambda#32 Value 89 Goto → block 8 Block 7 90 Constant undefined Undefined 91 Goto → block 8 Block 8 92 Phi ← Constant#90, GetInlinedArgument#88 Value 93 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 94 DebugCheckSelfHosted ← Constant#93 Value 95 Constant undefined Undefined 96 Constant 0x1 Int32 97 HasShape ← ObjectKeys#27 Bool 98 Test ← HasShape#97 → block 9, block 10 1 0 Block 9 99 Constant function std_Array at 104289c6c820 Object 100 DebugCheckSelfHosted ← Constant#99 Value 101 Constant undefined Undefined 102 Constant 0x1 Int32 103 Unbox DebugCheckSelfHosted#100 to Object (fallible) Object 104 Constant function std_Array at 104289c6c820 Object 105 GuardSpecificFunction ← Unbox#103, Constant#104 Object 106 NewArrayDynamicLength ← MinMax#50 Object 107 Goto → block 11 Block 10 108 CallGetIntrinsicValue Value 109 DebugCheckSelfHosted ← CallGetIntrinsicValue#108 Value 110 Constant undefined Undefined 111 Bail 189 Unreachable Block 11 115 Constant 0x0 Int32 127 Goto → block 12 Block 12 (loop header) 124 Phi ← Constant#115, Add#173 Value 193 Constant magic optimized-out MagicOptimizedOut 128 InterruptCheck 129 Unbox Phi#124 to Int32 (fallible) Int32 130 Unbox MinMax#50 to Int32 (fallible) Int32 131 Compare ← Unbox#129, Unbox#130 Lt Bool 132 Test ← Compare#131 → block 13, block 19 1 0 Block 13 198 Constant magic optimized-out MagicOptimizedOut 133 Unbox ObjectKeys#27 to Object (fallible) Object 134 Unbox Phi#124 to Int32 (fallible) Int32 135 GuardShape ← Unbox#133 Object 136 Elements ← GuardShape#135 Elements 137 InitializedLength ← Elements#136 Int32 138 BoundsCheck ← Unbox#134, InitializedLength#137 Int32 139 SpectreMaskIndex ← BoundsCheck#138, InitializedLength#137 Int32 140 GuardElementNotHole ← Elements#136, SpectreMaskIndex#139 141 Constant true Bool 142 Test ← Constant#141 → block 15, block 14 1 0 Block 14 (split edge) 195 Constant magic optimized-out MagicOptimizedOut 192 Goto → block 18 Block 15 197 Constant magic optimized-out MagicOptimizedOut 143 Unbox ObjectKeys#27 to Object (fallible) Object 144 Unbox Phi#124 to Int32 (fallible) Int32 145 GuardShape ← Unbox#143 Object 146 Elements ← GuardShape#145 Elements 147 InitializedLength ← Elements#146 Int32 148 BoundsCheck ← Unbox#144, InitializedLength#147 Int32 149 SpectreMaskIndex ← BoundsCheck#148, InitializedLength#147 Int32 150 GuardElementsArePacked ← Elements#146 151 LoadElement ← Elements#146, SpectreMaskIndex#149 Value 152 Constant 0x3 Int32 153 Unbox Lambda#32 to Object (fallible) Object 154 GuardToFunction ← Unbox#153 Object 155 GuardFunctionScript ← GuardToFunction#154 Object 156 Goto → block 16 Block 16 157 Constant undefined Undefined 158 FunctionEnvironment ← GuardFunctionScript#155 Object 159 LoadFixedSlot ← FunctionEnvironment#158 (slot 2) Value 160 Unbox LoadFixedSlot#159 to Object (fallible) Object 161 MegamorphicLoadSlotByValue ← Unbox#160, LoadElement#151 Value 163 Goto → block 17 Block 17 196 Constant magic optimized-out MagicOptimizedOut 164 Unbox NewArrayDynamicLength#106 to Object (fallible) Object 165 Unbox Phi#124 to Int32 (fallible) Int32 166 GuardShape ← Unbox#164 Object 167 Elements ← GuardShape#166 Elements 168 StoreElementHole ← GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161 169 Goto → block 18 Block 18 (backedge) 194 Constant magic optimized-out MagicOptimizedOut 171 Unbox Phi#124 to Int32 (fallible) Int32 172 Constant 0x1 Int32 173 Add ← Unbox#171, Constant#172 [int32] Int32 174 Goto → block 12 Block 19 177 Unbox NewArrayDynamicLength#106 to Object (fallible) Object 178 GuardShape ← Unbox#177 Object 179 Constant object 104289c3e088 (Array) Object 180 Constant function reduce (self-hosted:205) at 104289c479c0 Object 181 Constant function complex5/< (-e:22) at 104289c63e40 Object 182 Lambda ← NewCallObject#8, Constant#181 Object 183 Constant 0x0 Int32 184 Constant 0x2 Int32 185 Constant function reduce (self-hosted:205) at 104289c479c0 Object 186 GuardSpecificFunction ← Constant#180, Constant#185 Object 187 Call ← GuardSpecificFunction#186, NewArrayDynamicLength#106, Lambda#182, Constant#183 Value 188 Return ← Call#187
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 AssertCanElidePostWriteBarrier ← NewCallObject#8, FunctionEnvironment#6 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Callee#5 11 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 12 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 13 PostWriteBarrier ← NewCallObject#8, Parameter#1 14 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 15 Constant object 104289c3f040 (LexicalEnvironment) Object 16 Constant object 104289c3e030 (global) Object 17 Constant function Object at 104289c422e0 Object 18 Constant function Object at 104289c422e0 Object 19 GuardObjectIdentity ← Constant#17, Constant#18 Object 20 Constant function keys at 104289c42468 Object 21 LoadFixedSlot ← NewCallObject#8 (slot 2) Value 22 Constant 0x1 Int32 23 Constant function keys at 104289c42468 Object 24 GuardSpecificFunction ← Constant#20, Constant#23 Object 25 Unbox LoadFixedSlot#21 to Object (fallible) Object 26 GuardIsNotProxy ← Unbox#25 Object 27 ObjectKeys ← GuardIsNotProxy#26 Object 28 GuardShape ← ObjectKeys#27 Object 29 Constant object 104289c3e088 (Array) Object 30 Constant function map (self-hosted:163) at 104289c47920 Object 31 Constant function complex5/< (-e:22) at 104289c63e08 Object 32 Lambda ← NewCallObject#8, Constant#31 Object 33 Constant 0x1 Int32 34 Constant function map (self-hosted:163) at 104289c47920 Object 35 GuardSpecificFunction ← Constant#30, Constant#34 Object 36 Goto → block 1 Block 1 37 Constant undefined Undefined 38 Constant function ToObject at 104289c6c740 Object 39 DebugCheckSelfHosted ← Constant#38 Value 40 Constant undefined Undefined 41 Constant 0x1 Int32 42 Constant function ToLength at 104289c6c778 Object 43 DebugCheckSelfHosted ← Constant#42 Value 44 Constant undefined Undefined 45 GuardShape ← ObjectKeys#27 Object 46 Elements ← GuardShape#45 Elements 47 ArrayLength ← Elements#46 Int32 48 Constant 0x1 Int32 49 Constant 0x0 Int32 50 MinMax ← ArrayLength#47, Constant#49 (max) Int32 51 Constant 0x1 Int32 52 Constant 0x0 Int32 53 Compare ← Constant#51, Constant#52 StrictEq Bool 54 Test ← Compare#53 → block 2, block 3 1 0 Block 2 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Constant undefined Undefined 58 Constant 0x37 Int32 59 Constant 0x0 Int32 60 Constant string 104289c2e080 String 61 Bail 191 Unreachable Block 3 64 Constant function IsCallable at 104289c6c7b0 Object 65 DebugCheckSelfHosted ← Constant#64 Value 66 Constant undefined Undefined 67 Constant 0x1 Int32 68 IsCallable ← Lambda#32 Bool 69 Test ← IsCallable#68 → block 5, block 4 1 0 Block 4 70 CallGetIntrinsicValue Value 71 DebugCheckSelfHosted ← CallGetIntrinsicValue#70 Value 72 Constant undefined Undefined 73 Constant 0xc Int32 74 CallGetIntrinsicValue Value 75 DebugCheckSelfHosted ← CallGetIntrinsicValue#74 Value 76 Constant undefined Undefined 77 Constant 0x0 Int32 78 Bail 190 Unreachable Block 5 83 Constant 0x1 Int32 84 Constant 0x1 Int32 85 Compare ← Constant#83, Constant#84 Gt Bool 86 Test ← Compare#85 → block 6, block 7 1 0 Block 6 87 Constant 0x1 Int32 88 GetInlinedArgument ← Constant#87, Lambda#32 Value 89 Goto → block 8 Block 7 90 Constant undefined Undefined 91 Goto → block 8 Block 8 92 Phi ← Constant#90, GetInlinedArgument#88 Value 93 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 94 DebugCheckSelfHosted ← Constant#93 Value 95 Constant undefined Undefined 96 Constant 0x1 Int32 97 HasShape ← ObjectKeys#27 Bool 98 Test ← HasShape#97 → block 9, block 10 1 0 Block 9 99 Constant function std_Array at 104289c6c820 Object 100 DebugCheckSelfHosted ← Constant#99 Value 101 Constant undefined Undefined 102 Constant 0x1 Int32 103 Unbox DebugCheckSelfHosted#100 to Object (fallible) Object 104 Constant function std_Array at 104289c6c820 Object 105 GuardSpecificFunction ← Unbox#103, Constant#104 Object 106 NewArrayDynamicLength ← MinMax#50 Object 107 Goto → block 11 Block 10 108 CallGetIntrinsicValue Value 109 DebugCheckSelfHosted ← CallGetIntrinsicValue#108 Value 110 Constant undefined Undefined 111 Bail 189 Unreachable Block 11 115 Constant 0x0 Int32 127 Goto → block 12 Block 12 (loop header) 124 Phi ← Constant#115, Add#173 Value 193 Constant magic optimized-out MagicOptimizedOut 128 InterruptCheck 129 Unbox Phi#124 to Int32 (fallible) Int32 130 Unbox MinMax#50 to Int32 (fallible) Int32 131 Compare ← Unbox#129, Unbox#130 Lt Bool 132 Test ← Compare#131 → block 13, block 19 1 0 Block 13 198 Constant magic optimized-out MagicOptimizedOut 133 Unbox ObjectKeys#27 to Object (fallible) Object 134 Unbox Phi#124 to Int32 (fallible) Int32 135 GuardShape ← Unbox#133 Object 136 Elements ← GuardShape#135 Elements 137 InitializedLength ← Elements#136 Int32 138 BoundsCheck ← Unbox#134, InitializedLength#137 Int32 139 SpectreMaskIndex ← BoundsCheck#138, InitializedLength#137 Int32 140 GuardElementNotHole ← Elements#136, SpectreMaskIndex#139 141 Constant true Bool 142 Test ← Constant#141 → block 15, block 14 1 0 Block 14 (split edge) 195 Constant magic optimized-out MagicOptimizedOut 192 Goto → block 18 Block 15 197 Constant magic optimized-out MagicOptimizedOut 143 Unbox ObjectKeys#27 to Object (fallible) Object 144 Unbox Phi#124 to Int32 (fallible) Int32 145 GuardShape ← Unbox#143 Object 146 Elements ← GuardShape#145 Elements 147 InitializedLength ← Elements#146 Int32 148 BoundsCheck ← Unbox#144, InitializedLength#147 Int32 149 SpectreMaskIndex ← BoundsCheck#148, InitializedLength#147 Int32 150 GuardElementsArePacked ← Elements#146 151 LoadElement ← Elements#146, SpectreMaskIndex#149 Value 152 Constant 0x3 Int32 153 Unbox Lambda#32 to Object (fallible) Object 154 GuardToFunction ← Unbox#153 Object 155 GuardFunctionScript ← GuardToFunction#154 Object 156 Goto → block 16 Block 16 157 Constant undefined Undefined 158 FunctionEnvironment ← GuardFunctionScript#155 Object 159 LoadFixedSlot ← FunctionEnvironment#158 (slot 2) Value 160 Unbox LoadFixedSlot#159 to Object (fallible) Object 161 MegamorphicLoadSlotByValue ← Unbox#160, LoadElement#151 Value 163 Goto → block 17 Block 17 196 Constant magic optimized-out MagicOptimizedOut 164 Unbox NewArrayDynamicLength#106 to Object (fallible) Object 165 Unbox Phi#124 to Int32 (fallible) Int32 166 GuardShape ← Unbox#164 Object 167 Elements ← GuardShape#166 Elements 168 StoreElementHole ← GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161 169 Goto → block 18 Block 18 (backedge) 194 Constant magic optimized-out MagicOptimizedOut 171 Unbox Phi#124 to Int32 (fallible) Int32 172 Constant 0x1 Int32 173 Add ← Unbox#171, Constant#172 [int32] Int32 174 Goto → block 12 Block 19 177 Unbox NewArrayDynamicLength#106 to Object (fallible) Object 178 GuardShape ← Unbox#177 Object 179 Constant object 104289c3e088 (Array) Object 180 Constant function reduce (self-hosted:205) at 104289c479c0 Object 181 Constant function complex5/< (-e:22) at 104289c63e40 Object 182 Lambda ← NewCallObject#8, Constant#181 Object 183 Constant 0x0 Int32 184 Constant 0x2 Int32 185 Constant function reduce (self-hosted:205) at 104289c479c0 Object 186 GuardSpecificFunction ← Constant#180, Constant#185 Object 187 Call ← GuardSpecificFunction#186, NewArrayDynamicLength#106, Lambda#182, Constant#183 Value 188 Return ← Call#187
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 AssertCanElidePostWriteBarrier ← NewCallObject#8, FunctionEnvironment#6 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Callee#5 11 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 12 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 13 PostWriteBarrier ← NewCallObject#8, Parameter#1 14 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 15 Constant object 104289c3f040 (LexicalEnvironment) Object 16 Constant object 104289c3e030 (global) Object 17 Constant function Object at 104289c422e0 Object 18 Constant function Object at 104289c422e0 Object 19 GuardObjectIdentity ← Constant#17, Constant#18 Object 20 Constant function keys at 104289c42468 Object 21 LoadFixedSlot ← NewCallObject#8 (slot 2) Value 22 Constant 0x1 Int32 23 Constant function keys at 104289c42468 Object 24 GuardSpecificFunction ← Constant#20, Constant#23 Object 25 Unbox LoadFixedSlot#21 to Object (fallible) Object 26 GuardIsNotProxy ← Unbox#25 Object 27 ObjectKeys ← GuardIsNotProxy#26 Object 28 GuardShape ← ObjectKeys#27 Object 29 Constant object 104289c3e088 (Array) Object 30 Constant function map (self-hosted:163) at 104289c47920 Object 31 Constant function complex5/< (-e:22) at 104289c63e08 Object 32 Lambda ← NewCallObject#8, Constant#31 Object 33 Constant 0x1 Int32 34 Constant function map (self-hosted:163) at 104289c47920 Object 35 GuardSpecificFunction ← Constant#30, Constant#34 Object 36 Goto → block 1 Block 1 37 Constant undefined Undefined 38 Constant function ToObject at 104289c6c740 Object 39 DebugCheckSelfHosted ← Constant#38 Value 40 Constant undefined Undefined 41 Constant 0x1 Int32 42 Constant function ToLength at 104289c6c778 Object 43 DebugCheckSelfHosted ← Constant#42 Value 44 Constant undefined Undefined 45 GuardShape ← ObjectKeys#27 Object 46 Elements ← GuardShape#45 Elements 47 ArrayLength ← Elements#46 Int32 48 Constant 0x1 Int32 49 Constant 0x0 Int32 50 MinMax ← ArrayLength#47, Constant#49 (max) Int32 51 Constant 0x1 Int32 52 Constant 0x0 Int32 53 Compare ← Constant#51, Constant#52 StrictEq Bool 54 Test ← Compare#53 → block 2, block 3 1 0 Block 2 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Constant undefined Undefined 58 Constant 0x37 Int32 59 Constant 0x0 Int32 60 Constant string 104289c2e080 String 61 Bail 191 Unreachable Block 3 64 Constant function IsCallable at 104289c6c7b0 Object 65 DebugCheckSelfHosted ← Constant#64 Value 66 Constant undefined Undefined 67 Constant 0x1 Int32 68 IsCallable ← Lambda#32 Bool 69 Test ← IsCallable#68 → block 5, block 4 1 0 Block 4 70 CallGetIntrinsicValue Value 71 DebugCheckSelfHosted ← CallGetIntrinsicValue#70 Value 72 Constant undefined Undefined 73 Constant 0xc Int32 74 CallGetIntrinsicValue Value 75 DebugCheckSelfHosted ← CallGetIntrinsicValue#74 Value 76 Constant undefined Undefined 77 Constant 0x0 Int32 78 Bail 190 Unreachable Block 5 83 Constant 0x1 Int32 84 Constant 0x1 Int32 85 Compare ← Constant#83, Constant#84 Gt Bool 86 Test ← Compare#85 → block 6, block 7 1 0 Block 6 87 Constant 0x1 Int32 88 GetInlinedArgument ← Constant#87, Lambda#32 Value 89 Goto → block 8 Block 7 90 Constant undefined Undefined 91 Goto → block 8 Block 8 92 Phi ← Constant#90, GetInlinedArgument#88 Value 93 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 94 DebugCheckSelfHosted ← Constant#93 Value 95 Constant undefined Undefined 96 Constant 0x1 Int32 97 HasShape ← ObjectKeys#27 Bool 98 Test ← HasShape#97 → block 9, block 10 1 0 Block 9 99 Constant function std_Array at 104289c6c820 Object 100 DebugCheckSelfHosted ← Constant#99 Value 101 Constant undefined Undefined 102 Constant 0x1 Int32 103 Unbox DebugCheckSelfHosted#100 to Object (fallible) Object 104 Constant function std_Array at 104289c6c820 Object 105 GuardSpecificFunction ← Unbox#103, Constant#104 Object 106 NewArrayDynamicLength ← MinMax#50 Object 107 Goto → block 11 Block 10 108 CallGetIntrinsicValue Value 109 DebugCheckSelfHosted ← CallGetIntrinsicValue#108 Value 110 Constant undefined Undefined 111 Bail 189 Unreachable Block 11 115 Constant 0x0 Int32 127 Goto → block 12 Block 12 (loop header) 124 Phi ← Constant#115, Add#173 Value 193 Constant magic optimized-out MagicOptimizedOut 128 InterruptCheck 129 Unbox Phi#124 to Int32 (fallible) Int32 130 Unbox MinMax#50 to Int32 (fallible) Int32 131 Compare ← Unbox#129, Unbox#130 Lt Bool 132 Test ← Compare#131 → block 13, block 19 1 0 Block 13 198 Constant magic optimized-out MagicOptimizedOut 133 Unbox ObjectKeys#27 to Object (fallible) Object 134 Unbox Phi#124 to Int32 (fallible) Int32 135 GuardShape ← Unbox#133 Object 136 Elements ← GuardShape#135 Elements 137 InitializedLength ← Elements#136 Int32 138 BoundsCheck ← Unbox#134, InitializedLength#137 Int32 139 SpectreMaskIndex ← BoundsCheck#138, InitializedLength#137 Int32 140 GuardElementNotHole ← Elements#136, SpectreMaskIndex#139 141 Constant true Bool 142 Test ← Constant#141 → block 15, block 14 1 0 Block 14 (split edge) 195 Constant magic optimized-out MagicOptimizedOut 192 Goto → block 18 Block 15 197 Constant magic optimized-out MagicOptimizedOut 143 Unbox ObjectKeys#27 to Object (fallible) Object 144 Unbox Phi#124 to Int32 (fallible) Int32 145 GuardShape ← Unbox#143 Object 146 Elements ← GuardShape#145 Elements 147 InitializedLength ← Elements#146 Int32 148 BoundsCheck ← Unbox#144, InitializedLength#147 Int32 149 SpectreMaskIndex ← BoundsCheck#148, InitializedLength#147 Int32 150 GuardElementsArePacked ← Elements#146 151 LoadElement ← Elements#146, SpectreMaskIndex#149 Value 152 Constant 0x3 Int32 153 Unbox Lambda#32 to Object (fallible) Object 154 GuardToFunction ← Unbox#153 Object 155 GuardFunctionScript ← GuardToFunction#154 Object 156 Goto → block 16 Block 16 157 Constant undefined Undefined 158 FunctionEnvironment ← GuardFunctionScript#155 Object 159 LoadFixedSlot ← FunctionEnvironment#158 (slot 2) Value 160 Unbox LoadFixedSlot#159 to Object (fallible) Object 161 MegamorphicLoadSlotByValue ← Unbox#160, LoadElement#151 Value 163 Goto → block 17 Block 17 196 Constant magic optimized-out MagicOptimizedOut 164 Unbox NewArrayDynamicLength#106 to Object (fallible) Object 165 Unbox Phi#124 to Int32 (fallible) Int32 166 GuardShape ← Unbox#164 Object 167 Elements ← GuardShape#166 Elements 168 StoreElementHole ← GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161 169 Goto → block 18 Block 18 (backedge) 194 Constant magic optimized-out MagicOptimizedOut 171 Unbox Phi#124 to Int32 (fallible) Int32 172 Constant 0x1 Int32 173 Add ← Unbox#171, Constant#172 [int32] Int32 174 Goto → block 12 Block 19 177 Unbox NewArrayDynamicLength#106 to Object (fallible) Object 178 GuardShape ← Unbox#177 Object 179 Constant object 104289c3e088 (Array) Object 180 Constant function reduce (self-hosted:205) at 104289c479c0 Object 181 Constant function complex5/< (-e:22) at 104289c63e40 Object 182 Lambda ← NewCallObject#8, Constant#181 Object 183 Constant 0x0 Int32 184 Constant 0x2 Int32 185 Constant function reduce (self-hosted:205) at 104289c479c0 Object 186 GuardSpecificFunction ← Constant#180, Constant#185 Object 187 Call ← GuardSpecificFunction#186, NewArrayDynamicLength#106, Lambda#182, Constant#183 Value 188 Return ← Call#187
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 AssertCanElidePostWriteBarrier ← NewCallObject#8, FunctionEnvironment#6 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Callee#5 11 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 12 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 13 PostWriteBarrier ← NewCallObject#8, Parameter#1 14 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 15 Constant object 104289c3f040 (LexicalEnvironment) Object 16 Constant object 104289c3e030 (global) Object 17 Constant function Object at 104289c422e0 Object 18 Constant function Object at 104289c422e0 Object 19 GuardObjectIdentity ← Constant#17, Constant#18 Object 20 Constant function keys at 104289c42468 Object 21 LoadFixedSlot ← NewCallObject#8 (slot 2) Value 22 Constant 0x1 Int32 23 Constant function keys at 104289c42468 Object 24 GuardSpecificFunction ← Constant#20, Constant#23 Object 25 Unbox LoadFixedSlot#21 to Object (fallible) Object 26 GuardIsNotProxy ← Unbox#25 Object 27 ObjectKeys ← GuardIsNotProxy#26 Object 28 GuardShape ← ObjectKeys#27 Object 29 Constant object 104289c3e088 (Array) Object 30 Constant function map (self-hosted:163) at 104289c47920 Object 31 Constant function complex5/< (-e:22) at 104289c63e08 Object 32 Lambda ← NewCallObject#8, Constant#31 Object 33 Constant 0x1 Int32 34 Constant function map (self-hosted:163) at 104289c47920 Object 35 GuardSpecificFunction ← Constant#30, Constant#34 Object 36 Goto → block 1 Block 1 37 Constant undefined Undefined 38 Constant function ToObject at 104289c6c740 Object 39 DebugCheckSelfHosted ← Constant#38 Value 40 Constant undefined Undefined 41 Constant 0x1 Int32 42 Constant function ToLength at 104289c6c778 Object 43 DebugCheckSelfHosted ← Constant#42 Value 44 Constant undefined Undefined 45 GuardShape ← ObjectKeys#27 Object 46 Elements ← GuardShape#45 Elements 47 ArrayLength ← Elements#46 Int32 48 Constant 0x1 Int32 49 Constant 0x0 Int32 50 MinMax ← ArrayLength#47, Constant#49 (max) Int32 51 Constant 0x1 Int32 52 Constant 0x0 Int32 53 Compare ← Constant#51, Constant#52 StrictEq Bool 54 Test ← Compare#53 → block 2, block 3 1 0 Block 2 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Constant undefined Undefined 58 Constant 0x37 Int32 59 Constant 0x0 Int32 60 Constant string 104289c2e080 String 61 Bail 191 Unreachable Block 3 64 Constant function IsCallable at 104289c6c7b0 Object 65 DebugCheckSelfHosted ← Constant#64 Value 66 Constant undefined Undefined 67 Constant 0x1 Int32 68 IsCallable ← Lambda#32 Bool 69 Test ← IsCallable#68 → block 5, block 4 1 0 Block 4 70 CallGetIntrinsicValue Value 71 DebugCheckSelfHosted ← CallGetIntrinsicValue#70 Value 72 Constant undefined Undefined 73 Constant 0xc Int32 74 CallGetIntrinsicValue Value 75 DebugCheckSelfHosted ← CallGetIntrinsicValue#74 Value 76 Constant undefined Undefined 77 Constant 0x0 Int32 78 Bail 190 Unreachable Block 5 83 Constant 0x1 Int32 84 Constant 0x1 Int32 85 Compare ← Constant#83, Constant#84 Gt Bool 86 Test ← Compare#85 → block 6, block 7 1 0 Block 6 87 Constant 0x1 Int32 88 GetInlinedArgument ← Constant#87, Lambda#32 Value 89 Goto → block 8 Block 7 90 Constant undefined Undefined 91 Goto → block 8 Block 8 92 Phi ← Constant#90, GetInlinedArgument#88 Value 93 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 94 DebugCheckSelfHosted ← Constant#93 Value 95 Constant undefined Undefined 96 Constant 0x1 Int32 97 HasShape ← ObjectKeys#27 Bool 98 Test ← HasShape#97 → block 9, block 10 1 0 Block 9 99 Constant function std_Array at 104289c6c820 Object 100 DebugCheckSelfHosted ← Constant#99 Value 101 Constant undefined Undefined 102 Constant 0x1 Int32 103 Unbox DebugCheckSelfHosted#100 to Object (fallible) Object 104 Constant function std_Array at 104289c6c820 Object 105 GuardSpecificFunction ← Unbox#103, Constant#104 Object 106 NewArrayDynamicLength ← MinMax#50 Object 107 Goto → block 11 Block 10 108 CallGetIntrinsicValue Value 109 DebugCheckSelfHosted ← CallGetIntrinsicValue#108 Value 110 Constant undefined Undefined 111 Bail 189 Unreachable Block 11 115 Constant 0x0 Int32 127 Goto → block 12 Block 12 (loop header) 124 Phi ← Constant#115, Add#173 Value 193 Constant magic optimized-out MagicOptimizedOut 128 InterruptCheck 129 Unbox Phi#124 to Int32 (fallible) Int32 130 Unbox MinMax#50 to Int32 (fallible) Int32 131 Compare ← Unbox#129, Unbox#130 Lt Bool 132 Test ← Compare#131 → block 13, block 19 1 0 Block 13 198 Constant magic optimized-out MagicOptimizedOut 133 Unbox ObjectKeys#27 to Object (fallible) Object 134 Unbox Phi#124 to Int32 (fallible) Int32 135 GuardShape ← Unbox#133 Object 136 Elements ← GuardShape#135 Elements 137 InitializedLength ← Elements#136 Int32 138 BoundsCheck ← Unbox#134, InitializedLength#137 Int32 139 SpectreMaskIndex ← BoundsCheck#138, InitializedLength#137 Int32 140 GuardElementNotHole ← Elements#136, SpectreMaskIndex#139 141 Constant true Bool 142 Test ← Constant#141 → block 15, block 14 1 0 Block 14 (split edge) 195 Constant magic optimized-out MagicOptimizedOut 192 Goto → block 18 Block 15 197 Constant magic optimized-out MagicOptimizedOut 143 Unbox ObjectKeys#27 to Object (fallible) Object 144 Unbox Phi#124 to Int32 (fallible) Int32 145 GuardShape ← Unbox#143 Object 146 Elements ← GuardShape#145 Elements 147 InitializedLength ← Elements#146 Int32 148 BoundsCheck ← Unbox#144, InitializedLength#147 Int32 149 SpectreMaskIndex ← BoundsCheck#148, InitializedLength#147 Int32 150 GuardElementsArePacked ← Elements#146 151 LoadElement ← Elements#146, SpectreMaskIndex#149 Value 152 Constant 0x3 Int32 153 Unbox Lambda#32 to Object (fallible) Object 154 GuardToFunction ← Unbox#153 Object 155 GuardFunctionScript ← GuardToFunction#154 Object 156 Goto → block 16 Block 16 157 Constant undefined Undefined 158 FunctionEnvironment ← GuardFunctionScript#155 Object 159 LoadFixedSlot ← FunctionEnvironment#158 (slot 2) Value 160 Unbox LoadFixedSlot#159 to Object (fallible) Object 161 MegamorphicLoadSlotByValue ← Unbox#160, LoadElement#151 Value 163 Goto → block 17 Block 17 196 Constant magic optimized-out MagicOptimizedOut 164 Unbox NewArrayDynamicLength#106 to Object (fallible) Object 165 Unbox Phi#124 to Int32 (fallible) Int32 166 GuardShape ← Unbox#164 Object 167 Elements ← GuardShape#166 Elements 168 StoreElementHole ← GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161 169 Goto → block 18 Block 18 (backedge) 194 Constant magic optimized-out MagicOptimizedOut 171 Unbox Phi#124 to Int32 (fallible) Int32 172 Constant 0x1 Int32 173 Add ← Unbox#171, Constant#172 [int32] Int32 174 Goto → block 12 Block 19 177 Unbox NewArrayDynamicLength#106 to Object (fallible) Object 178 GuardShape ← Unbox#177 Object 179 Constant object 104289c3e088 (Array) Object 180 Constant function reduce (self-hosted:205) at 104289c479c0 Object 181 Constant function complex5/< (-e:22) at 104289c63e40 Object 182 Lambda ← NewCallObject#8, Constant#181 Object 183 Constant 0x0 Int32 184 Constant 0x2 Int32 185 Constant function reduce (self-hosted:205) at 104289c479c0 Object 186 GuardSpecificFunction ← Constant#180, Constant#185 Object 187 Call ← GuardSpecificFunction#186, NewArrayDynamicLength#106, Lambda#182, Constant#183 Value 188 Return ← Call#187
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 199 Box ← FunctionEnvironment#6 Value 9 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#199 200 Box ← Callee#5 Value 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#200 11 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 12 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 13 PostWriteBarrier ← NewCallObject#8, Parameter#1 14 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 15 Constant object 104289c3f040 (LexicalEnvironment) Object 16 Constant object 104289c3e030 (global) Object 17 Constant function Object at 104289c422e0 Object 18 Constant function Object at 104289c422e0 Object 19 GuardObjectIdentity ← Constant#17, Constant#18 Object 20 Constant function keys at 104289c42468 Object 21 LoadFixedSlot ← NewCallObject#8 (slot 2) Value 22 Constant 0x1 Int32 23 Constant function keys at 104289c42468 Object 24 GuardSpecificFunction ← Constant#20, Constant#23 Object 25 Unbox LoadFixedSlot#21 to Object (fallible) Object 26 GuardIsNotProxy ← Unbox#25 Object 27 ObjectKeys ← GuardIsNotProxy#26 Object 28 GuardShape ← ObjectKeys#27 Object 29 Constant object 104289c3e088 (Array) Object 30 Constant function map (self-hosted:163) at 104289c47920 Object 31 Constant function complex5/< (-e:22) at 104289c63e08 Object 32 Lambda ← NewCallObject#8, Constant#31 Object 33 Constant 0x1 Int32 34 Constant function map (self-hosted:163) at 104289c47920 Object 35 GuardSpecificFunction ← Constant#30, Constant#34 Object 36 Goto → block 1 Block 1 37 Constant undefined Undefined 38 Constant function ToObject at 104289c6c740 Object 201 Box ← Constant#38 Value 39 DebugCheckSelfHosted ← Box#201 Value 40 Constant undefined Undefined 41 Constant 0x1 Int32 42 Constant function ToLength at 104289c6c778 Object 202 Box ← Constant#42 Value 43 DebugCheckSelfHosted ← Box#202 Value 44 Constant undefined Undefined 45 GuardShape ← ObjectKeys#27 Object 46 Elements ← GuardShape#45 Elements 47 ArrayLength ← Elements#46 Int32 48 Constant 0x1 Int32 49 Constant 0x0 Int32 50 MinMax ← ArrayLength#47, Constant#49 (max) Int32 51 Constant 0x1 Int32 52 Constant 0x0 Int32 53 Compare ← Constant#51, Constant#52 StrictEq Bool 54 Test ← Compare#53 → block 2, block 3 1 0 Block 2 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Constant undefined Undefined 58 Constant 0x37 Int32 59 Constant 0x0 Int32 60 Constant string 104289c2e080 String 61 Bail 191 Unreachable Block 3 64 Constant function IsCallable at 104289c6c7b0 Object 203 Box ← Constant#64 Value 65 DebugCheckSelfHosted ← Box#203 Value 66 Constant undefined Undefined 67 Constant 0x1 Int32 68 IsCallable ← Lambda#32 Bool 69 Test ← IsCallable#68 → block 5, block 4 1 0 Block 4 70 CallGetIntrinsicValue Value 71 DebugCheckSelfHosted ← CallGetIntrinsicValue#70 Value 72 Constant undefined Undefined 73 Constant 0xc Int32 74 CallGetIntrinsicValue Value 75 DebugCheckSelfHosted ← CallGetIntrinsicValue#74 Value 76 Constant undefined Undefined 77 Constant 0x0 Int32 78 Bail 190 Unreachable Block 5 83 Constant 0x1 Int32 84 Constant 0x1 Int32 85 Compare ← Constant#83, Constant#84 Gt Bool 86 Test ← Compare#85 → block 6, block 7 1 0 Block 6 87 Constant 0x1 Int32 88 GetInlinedArgument ← Constant#87, Lambda#32 Value 89 Goto → block 8 Block 7 90 Constant undefined Undefined 204 Box ← Constant#90 Value 91 Goto → block 8 Block 8 92 Phi ← Box#204, GetInlinedArgument#88 Value 93 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 205 Box ← Constant#93 Value 94 DebugCheckSelfHosted ← Box#205 Value 95 Constant undefined Undefined 96 Constant 0x1 Int32 97 HasShape ← ObjectKeys#27 Bool 98 Test ← HasShape#97 → block 9, block 10 1 0 Block 9 99 Constant function std_Array at 104289c6c820 Object 206 Box ← Constant#99 Value 100 DebugCheckSelfHosted ← Box#206 Value 101 Constant undefined Undefined 102 Constant 0x1 Int32 103 Unbox DebugCheckSelfHosted#100 to Object (fallible) Object 104 Constant function std_Array at 104289c6c820 Object 105 GuardSpecificFunction ← Unbox#103, Constant#104 Object 106 NewArrayDynamicLength ← MinMax#50 Object 107 Goto → block 11 Block 10 108 CallGetIntrinsicValue Value 109 DebugCheckSelfHosted ← CallGetIntrinsicValue#108 Value 110 Constant undefined Undefined 111 Bail 189 Unreachable Block 11 115 Constant 0x0 Int32 127 Goto → block 12 Block 12 (loop header) 124 Phi ← Constant#115, Add#173 Int32 193 Constant magic optimized-out MagicOptimizedOut 128 InterruptCheck 207 Box ← Phi#124 Value 129 Unbox Box#207 to Int32 (fallible) Int32 208 Box ← MinMax#50 Value 130 Unbox Box#208 to Int32 (fallible) Int32 131 Compare ← Unbox#129, Unbox#130 Lt Bool 132 Test ← Compare#131 → block 13, block 19 1 0 Block 13 198 Constant magic optimized-out MagicOptimizedOut 209 Box ← ObjectKeys#27 Value 133 Unbox Box#209 to Object (fallible) Object 210 Box ← Phi#124 Value 134 Unbox Box#210 to Int32 (fallible) Int32 135 GuardShape ← Unbox#133 Object 136 Elements ← GuardShape#135 Elements 137 InitializedLength ← Elements#136 Int32 138 BoundsCheck ← Unbox#134, InitializedLength#137 Int32 139 SpectreMaskIndex ← BoundsCheck#138, InitializedLength#137 Int32 140 GuardElementNotHole ← Elements#136, SpectreMaskIndex#139 141 Constant true Bool 142 Test ← Constant#141 → block 15, block 14 1 0 Block 14 (split edge) 195 Constant magic optimized-out MagicOptimizedOut 192 Goto → block 18 Block 15 197 Constant magic optimized-out MagicOptimizedOut 211 Box ← ObjectKeys#27 Value 143 Unbox Box#211 to Object (fallible) Object 212 Box ← Phi#124 Value 144 Unbox Box#212 to Int32 (fallible) Int32 145 GuardShape ← Unbox#143 Object 146 Elements ← GuardShape#145 Elements 147 InitializedLength ← Elements#146 Int32 148 BoundsCheck ← Unbox#144, InitializedLength#147 Int32 149 SpectreMaskIndex ← BoundsCheck#148, InitializedLength#147 Int32 150 GuardElementsArePacked ← Elements#146 151 LoadElement ← Elements#146, SpectreMaskIndex#149 Value 152 Constant 0x3 Int32 213 Box ← Lambda#32 Value 153 Unbox Box#213 to Object (fallible) Object 154 GuardToFunction ← Unbox#153 Object 155 GuardFunctionScript ← GuardToFunction#154 Object 156 Goto → block 16 Block 16 157 Constant undefined Undefined 158 FunctionEnvironment ← GuardFunctionScript#155 Object 159 LoadFixedSlot ← FunctionEnvironment#158 (slot 2) Value 160 Unbox LoadFixedSlot#159 to Object (fallible) Object 161 MegamorphicLoadSlotByValue ← Unbox#160, LoadElement#151 Value 163 Goto → block 17 Block 17 196 Constant magic optimized-out MagicOptimizedOut 214 Box ← NewArrayDynamicLength#106 Value 164 Unbox Box#214 to Object (fallible) Object 215 Box ← Phi#124 Value 165 Unbox Box#215 to Int32 (fallible) Int32 166 GuardShape ← Unbox#164 Object 167 Elements ← GuardShape#166 Elements 168 StoreElementHole ← GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161 169 Goto → block 18 Block 18 (backedge) 194 Constant magic optimized-out MagicOptimizedOut 216 Box ← Phi#124 Value 171 Unbox Box#216 to Int32 (fallible) Int32 172 Constant 0x1 Int32 173 Add ← Unbox#171, Constant#172 [int32] Int32 174 Goto → block 12 Block 19 217 Box ← NewArrayDynamicLength#106 Value 177 Unbox Box#217 to Object (fallible) Object 178 GuardShape ← Unbox#177 Object 179 Constant object 104289c3e088 (Array) Object 180 Constant function reduce (self-hosted:205) at 104289c479c0 Object 181 Constant function complex5/< (-e:22) at 104289c63e40 Object 182 Lambda ← NewCallObject#8, Constant#181 Object 183 Constant 0x0 Int32 184 Constant 0x2 Int32 185 Constant function reduce (self-hosted:205) at 104289c479c0 Object 186 GuardSpecificFunction ← Constant#180, Constant#185 Object 187 Call ← GuardSpecificFunction#186, NewArrayDynamicLength#106, Lambda#182, Constant#183 Value 188 Return ← Call#187
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 Box ← FunctionEnvironment#6 Value 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9 11 Box ← Callee#5 Value 12 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11 13 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 14 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 15 PostWriteBarrier ← NewCallObject#8, Parameter#1 16 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 17 Constant object 104289c3f040 (LexicalEnvironment) Object 18 Constant object 104289c3e030 (global) Object 19 Constant function Object at 104289c422e0 Object 20 Constant function Object at 104289c422e0 Object 21 GuardObjectIdentity ← Constant#19, Constant#20 Object 22 Constant function keys at 104289c42468 Object 23 LoadFixedSlot ← NewCallObject#8 (slot 2) Value 24 Constant 0x1 Int32 25 Constant function keys at 104289c42468 Object 26 GuardSpecificFunction ← Constant#22, Constant#25 Object 27 Unbox LoadFixedSlot#23 to Object (fallible) Object 28 GuardIsNotProxy ← Unbox#27 Object 29 ObjectKeys ← GuardIsNotProxy#28 Object 30 GuardShape ← ObjectKeys#29 Object 31 Constant object 104289c3e088 (Array) Object 32 Constant function map (self-hosted:163) at 104289c47920 Object 33 Constant function complex5/< (-e:22) at 104289c63e08 Object 34 Lambda ← NewCallObject#8, Constant#33 Object 35 Constant 0x1 Int32 36 Constant function map (self-hosted:163) at 104289c47920 Object 37 GuardSpecificFunction ← Constant#32, Constant#36 Object 38 Goto → block 1 Block 1 39 Constant undefined Undefined 40 Constant function ToObject at 104289c6c740 Object 41 Box ← Constant#40 Value 42 DebugCheckSelfHosted ← Box#41 Value 43 Constant undefined Undefined 44 Constant 0x1 Int32 45 Constant function ToLength at 104289c6c778 Object 46 Box ← Constant#45 Value 47 DebugCheckSelfHosted ← Box#46 Value 48 Constant undefined Undefined 49 GuardShape ← ObjectKeys#29 Object 50 Elements ← GuardShape#49 Elements 51 ArrayLength ← Elements#50 Int32 52 Constant 0x1 Int32 53 Constant 0x0 Int32 54 MinMax ← ArrayLength#51, Constant#53 (max) Int32 55 Constant 0x1 Int32 56 Constant 0x0 Int32 57 Compare ← Constant#55, Constant#56 StrictEq Bool 58 Test ← Compare#57 → block 2, block 3 1 0 Block 2 59 CallGetIntrinsicValue Value 60 DebugCheckSelfHosted ← CallGetIntrinsicValue#59 Value 61 Constant undefined Undefined 62 Constant 0x37 Int32 63 Constant 0x0 Int32 64 Constant string 104289c2e080 String 65 Bail 66 Unreachable Block 3 67 Constant function IsCallable at 104289c6c7b0 Object 68 Box ← Constant#67 Value 69 DebugCheckSelfHosted ← Box#68 Value 70 Constant undefined Undefined 71 Constant 0x1 Int32 72 IsCallable ← Lambda#34 Bool 73 Test ← IsCallable#72 → block 5, block 4 1 0 Block 4 74 CallGetIntrinsicValue Value 75 DebugCheckSelfHosted ← CallGetIntrinsicValue#74 Value 76 Constant undefined Undefined 77 Constant 0xc Int32 78 CallGetIntrinsicValue Value 79 DebugCheckSelfHosted ← CallGetIntrinsicValue#78 Value 80 Constant undefined Undefined 81 Constant 0x0 Int32 82 Bail 83 Unreachable Block 5 84 Constant 0x1 Int32 85 Constant 0x1 Int32 86 Compare ← Constant#84, Constant#85 Gt Bool 87 Test ← Compare#86 → block 6, block 7 1 0 Block 6 88 Constant 0x1 Int32 89 GetInlinedArgument ← Constant#88, Lambda#34 Value 90 Goto → block 8 Block 7 91 Constant undefined Undefined 92 Box ← Constant#91 Value 93 Goto → block 8 Block 8 94 Phi ← Box#92, GetInlinedArgument#89 Value 95 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 96 Box ← Constant#95 Value 97 DebugCheckSelfHosted ← Box#96 Value 98 Constant undefined Undefined 99 Constant 0x1 Int32 100 HasShape ← ObjectKeys#29 Bool 101 Test ← HasShape#100 → block 9, block 10 1 0 Block 9 102 Constant function std_Array at 104289c6c820 Object 103 Box ← Constant#102 Value 104 DebugCheckSelfHosted ← Box#103 Value 105 Constant undefined Undefined 106 Constant 0x1 Int32 107 Unbox DebugCheckSelfHosted#104 to Object (fallible) Object 108 Constant function std_Array at 104289c6c820 Object 109 GuardSpecificFunction ← Unbox#107, Constant#108 Object 110 NewArrayDynamicLength ← MinMax#54 Object 111 Goto → block 11 Block 10 112 CallGetIntrinsicValue Value 113 DebugCheckSelfHosted ← CallGetIntrinsicValue#112 Value 114 Constant undefined Undefined 115 Bail 116 Unreachable Block 11 117 Constant 0x0 Int32 118 Goto → block 12 Block 12 (loop header) 119 Phi ← Constant#117, Add#180 Int32 120 Constant magic optimized-out MagicOptimizedOut 121 InterruptCheck 122 Box ← Phi#119 Value 123 Unbox Box#122 to Int32 (fallible) Int32 124 Box ← MinMax#54 Value 125 Unbox Box#124 to Int32 (fallible) Int32 126 Compare ← Unbox#123, Unbox#125 Lt Bool 127 Test ← Compare#126 → block 13, block 19 1 0 Block 13 128 Constant magic optimized-out MagicOptimizedOut 129 Box ← ObjectKeys#29 Value 130 Unbox Box#129 to Object (fallible) Object 131 Box ← Phi#119 Value 132 Unbox Box#131 to Int32 (fallible) Int32 133 GuardShape ← Unbox#130 Object 134 Elements ← GuardShape#133 Elements 135 InitializedLength ← Elements#134 Int32 136 BoundsCheck ← Unbox#132, InitializedLength#135 Int32 137 SpectreMaskIndex ← BoundsCheck#136, InitializedLength#135 Int32 138 GuardElementNotHole ← Elements#134, SpectreMaskIndex#137 139 Constant true Bool 140 Test ← Constant#139 → block 15, block 14 1 0 Block 14 (split edge) 141 Constant magic optimized-out MagicOptimizedOut 142 Goto → block 18 Block 15 143 Constant magic optimized-out MagicOptimizedOut 144 Box ← ObjectKeys#29 Value 145 Unbox Box#144 to Object (fallible) Object 146 Box ← Phi#119 Value 147 Unbox Box#146 to Int32 (fallible) Int32 148 GuardShape ← Unbox#145 Object 149 Elements ← GuardShape#148 Elements 150 InitializedLength ← Elements#149 Int32 151 BoundsCheck ← Unbox#147, InitializedLength#150 Int32 152 SpectreMaskIndex ← BoundsCheck#151, InitializedLength#150 Int32 153 GuardElementsArePacked ← Elements#149 154 LoadElement ← Elements#149, SpectreMaskIndex#152 Value 155 Constant 0x3 Int32 156 Box ← Lambda#34 Value 157 Unbox Box#156 to Object (fallible) Object 158 GuardToFunction ← Unbox#157 Object 159 GuardFunctionScript ← GuardToFunction#158 Object 160 Goto → block 16 Block 16 161 Constant undefined Undefined 162 FunctionEnvironment ← GuardFunctionScript#159 Object 163 LoadFixedSlot ← FunctionEnvironment#162 (slot 2) Value 164 Unbox LoadFixedSlot#163 to Object (fallible) Object 165 MegamorphicLoadSlotByValue ← Unbox#164, LoadElement#154 Value 166 Goto → block 17 Block 17 167 Constant magic optimized-out MagicOptimizedOut 168 Box ← NewArrayDynamicLength#110 Value 169 Unbox Box#168 to Object (fallible) Object 170 Box ← Phi#119 Value 171 Unbox Box#170 to Int32 (fallible) Int32 172 GuardShape ← Unbox#169 Object 173 Elements ← GuardShape#172 Elements 174 StoreElementHole ← GuardShape#172, Elements#173, Unbox#171, MegamorphicLoadSlotByValue#165 175 Goto → block 18 Block 18 (backedge) 176 Constant magic optimized-out MagicOptimizedOut 177 Box ← Phi#119 Value 178 Unbox Box#177 to Int32 (fallible) Int32 179 Constant 0x1 Int32 180 Add ← Unbox#178, Constant#179 [int32] Int32 181 Goto → block 12 Block 19 182 Box ← NewArrayDynamicLength#110 Value 183 Unbox Box#182 to Object (fallible) Object 184 GuardShape ← Unbox#183 Object 185 Constant object 104289c3e088 (Array) Object 186 Constant function reduce (self-hosted:205) at 104289c479c0 Object 187 Constant function complex5/< (-e:22) at 104289c63e40 Object 188 Lambda ← NewCallObject#8, Constant#187 Object 189 Constant 0x0 Int32 190 Constant 0x2 Int32 191 Constant function reduce (self-hosted:205) at 104289c479c0 Object 192 GuardSpecificFunction ← Constant#186, Constant#191 Object 193 Call ← GuardSpecificFunction#192, NewArrayDynamicLength#110, Lambda#188, Constant#189 Value 194 Return ← Call#193
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 Box ← FunctionEnvironment#6 Value 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9 11 Box ← Callee#5 Value 12 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11 13 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 14 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 15 PostWriteBarrier ← NewCallObject#8, Parameter#1 16 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 17 Constant object 104289c3f040 (LexicalEnvironment) Object 18 Constant object 104289c3e030 (global) Object 19 Constant function Object at 104289c422e0 Object 20 Constant function Object at 104289c422e0 Object 21 GuardObjectIdentity ← Constant#19, Constant#20 Object 22 Constant function keys at 104289c42468 Object 23 LoadFixedSlot ← NewCallObject#8 (slot 2) Value 24 Constant 0x1 Int32 25 Constant function keys at 104289c42468 Object 26 GuardSpecificFunction ← Constant#22, Constant#25 Object 27 Unbox LoadFixedSlot#23 to Object (fallible) Object 28 GuardIsNotProxy ← Unbox#27 Object 29 ObjectKeys ← GuardIsNotProxy#28 Object 30 GuardShape ← ObjectKeys#29 Object 31 Constant object 104289c3e088 (Array) Object 32 Constant function map (self-hosted:163) at 104289c47920 Object 33 Constant function complex5/< (-e:22) at 104289c63e08 Object 34 Lambda ← NewCallObject#8, Constant#33 Object 35 Constant 0x1 Int32 36 Constant function map (self-hosted:163) at 104289c47920 Object 37 GuardSpecificFunction ← Constant#32, Constant#36 Object 38 Goto → block 1 Block 1 39 Constant undefined Undefined 40 Constant function ToObject at 104289c6c740 Object 41 Box ← Constant#40 Value 42 DebugCheckSelfHosted ← Box#41 Value 43 Constant undefined Undefined 44 Constant 0x1 Int32 45 Constant function ToLength at 104289c6c778 Object 46 Box ← Constant#45 Value 47 DebugCheckSelfHosted ← Box#46 Value 48 Constant undefined Undefined 49 GuardShape ← ObjectKeys#29 Object 50 Elements ← GuardShape#49 Elements 51 ArrayLength ← Elements#50 Int32 52 Constant 0x1 Int32 53 Constant 0x0 Int32 54 MinMax ← ArrayLength#51, Constant#53 (max) Int32 55 Constant 0x1 Int32 56 Constant 0x0 Int32 57 Compare ← Constant#55, Constant#56 StrictEq Bool 58 Test ← Compare#57 → block 2, block 3 1 0 Block 2 59 CallGetIntrinsicValue Value 60 DebugCheckSelfHosted ← CallGetIntrinsicValue#59 Value 61 Constant undefined Undefined 62 Constant 0x37 Int32 63 Constant 0x0 Int32 64 Constant string 104289c2e080 String 65 Bail 66 Unreachable Block 3 67 Constant function IsCallable at 104289c6c7b0 Object 68 Box ← Constant#67 Value 69 DebugCheckSelfHosted ← Box#68 Value 70 Constant undefined Undefined 71 Constant 0x1 Int32 72 IsCallable ← Lambda#34 Bool 73 Test ← IsCallable#72 → block 5, block 4 1 0 Block 4 74 CallGetIntrinsicValue Value 75 DebugCheckSelfHosted ← CallGetIntrinsicValue#74 Value 76 Constant undefined Undefined 77 Constant 0xc Int32 78 CallGetIntrinsicValue Value 79 DebugCheckSelfHosted ← CallGetIntrinsicValue#78 Value 80 Constant undefined Undefined 81 Constant 0x0 Int32 82 Bail 83 Unreachable Block 5 84 Constant 0x1 Int32 85 Constant 0x1 Int32 86 Compare ← Constant#84, Constant#85 Gt Bool 87 Test ← Compare#86 → block 6, block 7 1 0 Block 6 88 Constant 0x1 Int32 89 GetInlinedArgument ← Constant#88, Lambda#34 Value 90 Goto → block 8 Block 7 91 Constant undefined Undefined 92 Box ← Constant#91 Value 93 Goto → block 8 Block 8 94 Phi ← Box#92, GetInlinedArgument#89 Value 95 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 96 Box ← Constant#95 Value 97 DebugCheckSelfHosted ← Box#96 Value 98 Constant undefined Undefined 99 Constant 0x1 Int32 100 HasShape ← ObjectKeys#29 Bool 101 Test ← HasShape#100 → block 9, block 10 1 0 Block 9 102 Constant function std_Array at 104289c6c820 Object 103 Box ← Constant#102 Value 104 DebugCheckSelfHosted ← Box#103 Value 105 Constant undefined Undefined 106 Constant 0x1 Int32 107 Unbox DebugCheckSelfHosted#104 to Object (fallible) Object 108 Constant function std_Array at 104289c6c820 Object 109 GuardSpecificFunction ← Unbox#107, Constant#108 Object 110 NewArrayDynamicLength ← MinMax#54 Object 111 Goto → block 11 Block 10 112 CallGetIntrinsicValue Value 113 DebugCheckSelfHosted ← CallGetIntrinsicValue#112 Value 114 Constant undefined Undefined 115 Bail 116 Unreachable Block 11 117 Constant 0x0 Int32 118 Goto → block 12 Block 12 (loop header) 119 Phi ← Constant#117, Add#180 Int32 120 Constant magic optimized-out MagicOptimizedOut 121 InterruptCheck 122 Box ← Phi#119 Value 123 Unbox Box#122 to Int32 (fallible) Int32 124 Box ← MinMax#54 Value 125 Unbox Box#124 to Int32 (fallible) Int32 126 Compare ← Unbox#123, Unbox#125 Lt Bool 127 Test ← Compare#126 → block 13, block 19 1 0 Block 13 128 Constant magic optimized-out MagicOptimizedOut 129 Box ← ObjectKeys#29 Value 130 Unbox Box#129 to Object (fallible) Object 131 Box ← Phi#119 Value 132 Unbox Box#131 to Int32 (fallible) Int32 133 GuardShape ← Unbox#130 Object 134 Elements ← GuardShape#133 Elements 135 InitializedLength ← Elements#134 Int32 136 BoundsCheck ← Unbox#132, InitializedLength#135 Int32 137 SpectreMaskIndex ← BoundsCheck#136, InitializedLength#135 Int32 138 GuardElementNotHole ← Elements#134, SpectreMaskIndex#137 139 Constant true Bool 140 Test ← Constant#139 → block 15, block 14 1 0 Block 14 (split edge) 141 Constant magic optimized-out MagicOptimizedOut 142 Goto → block 18 Block 15 143 Constant magic optimized-out MagicOptimizedOut 144 Box ← ObjectKeys#29 Value 145 Unbox Box#144 to Object (fallible) Object 146 Box ← Phi#119 Value 147 Unbox Box#146 to Int32 (fallible) Int32 148 GuardShape ← Unbox#145 Object 149 Elements ← GuardShape#148 Elements 150 InitializedLength ← Elements#149 Int32 151 BoundsCheck ← Unbox#147, InitializedLength#150 Int32 152 SpectreMaskIndex ← BoundsCheck#151, InitializedLength#150 Int32 153 GuardElementsArePacked ← Elements#149 154 LoadElement ← Elements#149, SpectreMaskIndex#152 Value 155 Constant 0x3 Int32 156 Box ← Lambda#34 Value 157 Unbox Box#156 to Object (fallible) Object 158 GuardToFunction ← Unbox#157 Object 159 GuardFunctionScript ← GuardToFunction#158 Object 160 Goto → block 16 Block 16 161 Constant undefined Undefined 162 FunctionEnvironment ← GuardFunctionScript#159 Object 163 LoadFixedSlot ← FunctionEnvironment#162 (slot 2) Value 164 Unbox LoadFixedSlot#163 to Object (fallible) Object 165 MegamorphicLoadSlotByValue ← Unbox#164, LoadElement#154 Value 166 Goto → block 17 Block 17 167 Constant magic optimized-out MagicOptimizedOut 168 Box ← NewArrayDynamicLength#110 Value 169 Unbox Box#168 to Object (fallible) Object 170 Box ← Phi#119 Value 171 Unbox Box#170 to Int32 (fallible) Int32 172 GuardShape ← Unbox#169 Object 173 Elements ← GuardShape#172 Elements 174 StoreElementHole ← GuardShape#172, Elements#173, Unbox#171, MegamorphicLoadSlotByValue#165 175 Goto → block 18 Block 18 (backedge) 176 Constant magic optimized-out MagicOptimizedOut 177 Box ← Phi#119 Value 178 Unbox Box#177 to Int32 (fallible) Int32 179 Constant 0x1 Int32 180 Add ← Unbox#178, Constant#179 [int32] Int32 181 Goto → block 12 Block 19 182 Box ← NewArrayDynamicLength#110 Value 183 Unbox Box#182 to Object (fallible) Object 184 GuardShape ← Unbox#183 Object 185 Constant object 104289c3e088 (Array) Object 186 Constant function reduce (self-hosted:205) at 104289c479c0 Object 187 Constant function complex5/< (-e:22) at 104289c63e40 Object 188 Lambda ← NewCallObject#8, Constant#187 Object 189 Constant 0x0 Int32 190 Constant 0x2 Int32 191 Constant function reduce (self-hosted:205) at 104289c479c0 Object 192 GuardSpecificFunction ← Constant#186, Constant#191 Object 193 Call ← GuardSpecificFunction#192, NewArrayDynamicLength#110, Lambda#188, Constant#189 Value 194 Return ← Call#193
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 Box ← FunctionEnvironment#6 Value 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9 11 Box ← Callee#5 Value 12 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11 13 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 14 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 15 PostWriteBarrier ← NewCallObject#8, Parameter#1 16 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 27 Unbox Parameter#1 to Object (fallible) Object 28 GuardIsNotProxy ← Unbox#27 Object 29 ObjectKeys ← GuardIsNotProxy#28 Object 30 GuardShape ← ObjectKeys#29 Object 32 Constant function map (self-hosted:163) at 104289c47920 Object 33 Constant function complex5/< (-e:22) at 104289c63e08 Object 34 Lambda ← NewCallObject#8, Constant#33 Object 38 Goto → block 1 Block 1 40 Constant function ToObject at 104289c6c740 Object 41 Box ← Constant#40 Value 42 DebugCheckSelfHosted ← Box#41 Value 45 Constant function ToLength at 104289c6c778 Object 46 Box ← Constant#45 Value 47 DebugCheckSelfHosted ← Box#46 Value 49 GuardShape ← ObjectKeys#29 Object 50 Elements ← GuardShape#49 Elements 51 ArrayLength ← Elements#50 Int32 219 Goto → block 2 Block 2 67 Constant function IsCallable at 104289c6c7b0 Object 68 Box ← Constant#67 Value 69 DebugCheckSelfHosted ← Box#68 Value 220 AssertClass ← Lambda#34 222 Goto → block 3 Block 3 224 Goto → block 4 Block 4 92 Box ← Constant#2 Value 93 Goto → block 5 Block 5 95 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 96 Box ← Constant#95 Value 97 DebugCheckSelfHosted ← Box#96 Value 100 HasShape ← ObjectKeys#29 Bool 101 Test ← HasShape#100 → block 6, block 7 1 0 Block 6 102 Constant function std_Array at 104289c6c820 Object 103 Box ← Constant#102 Value 104 DebugCheckSelfHosted ← Box#103 Value 107 Unbox DebugCheckSelfHosted#104 to Object (fallible) Object 109 GuardSpecificFunction ← Unbox#107, Constant#102 Object 110 NewArrayDynamicLength ← ArrayLength#51 Object 111 Goto → block 8 Block 7 112 CallGetIntrinsicValue Value 113 DebugCheckSelfHosted ← CallGetIntrinsicValue#112 Value 115 Bail 116 Unreachable Block 8 117 Constant 0x0 Int32 118 Goto → block 9 Block 9 (loop header) 119 Phi ← Constant#117, Add#180 Int32 120 Constant magic optimized-out MagicOptimizedOut 121 InterruptCheck 126 Compare ← Phi#119, ArrayLength#51 Lt Bool 127 Test ← Compare#126 → block 10, block 15 1 0 Block 10 133 GuardShape ← ObjectKeys#29 Object 134 Elements ← GuardShape#133 Elements 135 InitializedLength ← Elements#134 Int32 136 BoundsCheck ← Phi#119, InitializedLength#135 Int32 137 SpectreMaskIndex ← BoundsCheck#136, InitializedLength#135 Int32 138 GuardElementNotHole ← Elements#134, SpectreMaskIndex#137 225 Goto → block 11 Block 11 153 GuardElementsArePacked ← Elements#134 154 LoadElement ← Elements#134, SpectreMaskIndex#137 Value 226 AssertClass ← Lambda#34 160 Goto → block 12 Block 12 163 LoadFixedSlot ← NewCallObject#8 (slot 2) Value 164 Unbox LoadFixedSlot#163 to Object (fallible) Object 165 MegamorphicLoadSlotByValue ← Unbox#164, LoadElement#154 Value 166 Goto → block 13 Block 13 172 GuardShape ← NewArrayDynamicLength#110 Object 173 Elements ← GuardShape#172 Elements 174 StoreElementHole ← GuardShape#172, Elements#173, Phi#119, MegamorphicLoadSlotByValue#165 175 Goto → block 14 Block 14 (backedge) 179 Constant 0x1 Int32 180 Add ← Phi#119, Constant#179 [int32] Int32 181 Goto → block 9 Block 15 184 GuardShape ← NewArrayDynamicLength#110 Object 186 Constant function reduce (self-hosted:205) at 104289c479c0 Object 187 Constant function complex5/< (-e:22) at 104289c63e40 Object 188 Lambda ← NewCallObject#8, Constant#187 Object 193 Call ← Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117 Value 194 Return ← Call#193
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 Box ← FunctionEnvironment#6 Value 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9 11 Box ← Callee#5 Value 12 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11 13 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 14 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 15 PostWriteBarrier ← NewCallObject#8, Parameter#1 16 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 27 Unbox Parameter#1 to Object (fallible) Object 28 GuardIsNotProxy ← Unbox#27 Object 29 ObjectKeys ← GuardIsNotProxy#28 Object 30 GuardShape ← ObjectKeys#29 Object 32 Constant function map (self-hosted:163) at 104289c47920 Object 33 Constant function complex5/< (-e:22) at 104289c63e08 Object 34 Lambda ← NewCallObject#8, Constant#33 Object 38 Goto → block 1 Block 1 40 Constant function ToObject at 104289c6c740 Object 41 Box ← Constant#40 Value 42 DebugCheckSelfHosted ← Box#41 Value 45 Constant function ToLength at 104289c6c778 Object 46 Box ← Constant#45 Value 47 DebugCheckSelfHosted ← Box#46 Value 49 GuardShape ← ObjectKeys#29 Object 50 Elements ← GuardShape#49 Elements 51 ArrayLength ← Elements#50 Int32 219 Goto → block 2 Block 2 67 Constant function IsCallable at 104289c6c7b0 Object 68 Box ← Constant#67 Value 69 DebugCheckSelfHosted ← Box#68 Value 220 AssertClass ← Lambda#34 222 Goto → block 3 Block 3 224 Goto → block 4 Block 4 92 Box ← Constant#2 Value 93 Goto → block 5 Block 5 95 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 96 Box ← Constant#95 Value 97 DebugCheckSelfHosted ← Box#96 Value 100 HasShape ← ObjectKeys#29 Bool 101 Test ← HasShape#100 → block 6, block 7 1 0 Block 6 102 Constant function std_Array at 104289c6c820 Object 103 Box ← Constant#102 Value 104 DebugCheckSelfHosted ← Box#103 Value 107 Unbox DebugCheckSelfHosted#104 to Object (fallible) Object 109 GuardSpecificFunction ← Unbox#107, Constant#102 Object 110 NewArrayDynamicLength ← ArrayLength#51 Object 111 Goto → block 8 Block 7 112 CallGetIntrinsicValue Value 113 DebugCheckSelfHosted ← CallGetIntrinsicValue#112 Value 115 Bail 116 Unreachable Block 8 117 Constant 0x0 Int32 133 GuardShape ← ObjectKeys#29 Object 163 LoadFixedSlot ← NewCallObject#8 (slot 2) Value 164 Unbox LoadFixedSlot#163 to Object (fallible) Object 172 GuardShape ← NewArrayDynamicLength#110 Object 118 Goto → block 9 Block 9 (loop header) 119 Phi ← Constant#117, Add#180 Int32 120 Constant magic optimized-out MagicOptimizedOut 121 InterruptCheck 126 Compare ← Phi#119, ArrayLength#51 Lt Bool 127 Test ← Compare#126 → block 10, block 15 1 0 Block 10 134 Elements ← GuardShape#133 Elements 135 InitializedLength ← Elements#134 Int32 136 BoundsCheck ← Phi#119, InitializedLength#135 Int32 137 SpectreMaskIndex ← BoundsCheck#136, InitializedLength#135 Int32 138 GuardElementNotHole ← Elements#134, SpectreMaskIndex#137 225 Goto → block 11 Block 11 153 GuardElementsArePacked ← Elements#134 154 LoadElement ← Elements#134, SpectreMaskIndex#137 Value 226 AssertClass ← Lambda#34 160 Goto → block 12 Block 12 165 MegamorphicLoadSlotByValue ← Unbox#164, LoadElement#154 Value 166 Goto → block 13 Block 13 173 Elements ← GuardShape#172 Elements 174 StoreElementHole ← GuardShape#172, Elements#173, Phi#119, MegamorphicLoadSlotByValue#165 175 Goto → block 14 Block 14 (backedge) 179 Constant 0x1 Int32 180 Add ← Phi#119, Constant#179 [int32] Int32 181 Goto → block 9 Block 15 184 GuardShape ← NewArrayDynamicLength#110 Object 186 Constant function reduce (self-hosted:205) at 104289c479c0 Object 187 Constant function complex5/< (-e:22) at 104289c63e40 Object 188 Lambda ← NewCallObject#8, Constant#187 Object 193 Call ← Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117 Value 194 Return ← Call#193
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 Box ← FunctionEnvironment#6 Value 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9 11 Box ← Callee#5 Value 12 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11 13 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 14 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 15 PostWriteBarrier ← NewCallObject#8, Parameter#1 16 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 27 Unbox Parameter#1 to Object (fallible) Object 28 GuardIsNotProxy ← Unbox#27 Object 29 ObjectKeys ← GuardIsNotProxy#28 Object 30 GuardShape ← ObjectKeys#29 Object 32 Constant function map (self-hosted:163) at 104289c47920 Object 33 Constant function complex5/< (-e:22) at 104289c63e08 Object 34 Lambda ← NewCallObject#8, Constant#33 Object 38 Goto → block 1 Block 1 40 Constant function ToObject at 104289c6c740 Object 41 Box ← Constant#40 Value 42 DebugCheckSelfHosted ← Box#41 Value 45 Constant function ToLength at 104289c6c778 Object 46 Box ← Constant#45 Value 47 DebugCheckSelfHosted ← Box#46 Value 49 GuardShape ← ObjectKeys#29 Object 50 Elements ← GuardShape#49 Elements 51 ArrayLength ← Elements#50 Int32 219 Goto → block 2 Block 2 67 Constant function IsCallable at 104289c6c7b0 Object 68 Box ← Constant#67 Value 69 DebugCheckSelfHosted ← Box#68 Value 220 AssertClass ← Lambda#34 222 Goto → block 3 Block 3 224 Goto → block 4 Block 4 92 Box ← Constant#2 Value 93 Goto → block 5 Block 5 95 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 96 Box ← Constant#95 Value 97 DebugCheckSelfHosted ← Box#96 Value 100 HasShape ← ObjectKeys#29 Bool 101 Test ← HasShape#100 → block 6, block 7 1 0 Block 6 102 Constant function std_Array at 104289c6c820 Object 103 Box ← Constant#102 Value 104 DebugCheckSelfHosted ← Box#103 Value 107 Unbox DebugCheckSelfHosted#104 to Object (fallible) Object 109 GuardSpecificFunction ← Unbox#107, Constant#102 Object 110 NewArrayDynamicLength ← ArrayLength#51 Object 111 Goto → block 8 Block 7 112 CallGetIntrinsicValue Value 113 DebugCheckSelfHosted ← CallGetIntrinsicValue#112 Value 115 Bail 116 Unreachable Block 8 117 Constant 0x0 Int32 133 GuardShape ← ObjectKeys#29 Object 163 LoadFixedSlot ← NewCallObject#8 (slot 2) Value 164 Unbox LoadFixedSlot#163 to Object (fallible) Object 172 GuardShape ← NewArrayDynamicLength#110 Object 118 Goto → block 9 Block 9 (loop header) 119 Phi ← Constant#117, Add#180 Int32 120 Constant magic optimized-out MagicOptimizedOut 121 InterruptCheck 126 Compare ← Phi#119, ArrayLength#51 Lt Bool 127 Test ← Compare#126 → block 10, block 15 1 0 Block 10 228 Beta ← ArrayLength#51 I[-2147483647, 2147483647] Int32 227 Beta ← Phi#119 I[-2147483648, 2147483646] Int32 134 Elements ← GuardShape#133 Elements 135 InitializedLength ← Elements#134 Int32 136 BoundsCheck ← Beta#227, InitializedLength#135 Int32 137 SpectreMaskIndex ← BoundsCheck#136, InitializedLength#135 Int32 138 GuardElementNotHole ← Elements#134, SpectreMaskIndex#137 225 Goto → block 11 Block 11 153 GuardElementsArePacked ← Elements#134 154 LoadElement ← Elements#134, SpectreMaskIndex#137 Value 226 AssertClass ← Lambda#34 160 Goto → block 12 Block 12 165 MegamorphicLoadSlotByValue ← Unbox#164, LoadElement#154 Value 166 Goto → block 13 Block 13 173 Elements ← GuardShape#172 Elements 174 StoreElementHole ← GuardShape#172, Elements#173, Beta#227, MegamorphicLoadSlotByValue#165 175 Goto → block 14 Block 14 (backedge) 179 Constant 0x1 Int32 180 Add ← Beta#227, Constant#179 [int32] Int32 181 Goto → block 9 Block 15 184 GuardShape ← NewArrayDynamicLength#110 Object 186 Constant function reduce (self-hosted:205) at 104289c479c0 Object 187 Constant function complex5/< (-e:22) at 104289c63e40 Object 188 Lambda ← NewCallObject#8, Constant#187 Object 193 Call ← Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117 Value 194 Return ← Call#193
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 Box ← FunctionEnvironment#6 Value 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9 11 Box ← Callee#5 Value 12 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11 13 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 14 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 15 PostWriteBarrier ← NewCallObject#8, Parameter#1 16 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 27 Unbox Parameter#1 to Object (fallible) Object 28 GuardIsNotProxy ← Unbox#27 Object 29 ObjectKeys ← GuardIsNotProxy#28 Object 30 GuardShape ← ObjectKeys#29 Object 32 Constant function map (self-hosted:163) at 104289c47920 Object 33 Constant function complex5/< (-e:22) at 104289c63e08 Object 34 Lambda ← NewCallObject#8, Constant#33 Object 38 Goto → block 1 Block 1 40 Constant function ToObject at 104289c6c740 Object 41 Box ← Constant#40 Value 42 DebugCheckSelfHosted ← Box#41 Value 45 Constant function ToLength at 104289c6c778 Object 46 Box ← Constant#45 Value 47 DebugCheckSelfHosted ← Box#46 Value 49 GuardShape ← ObjectKeys#29 Object 50 Elements ← GuardShape#49 Elements 51 ArrayLength ← Elements#50 I[0, 2147483647]: Int32 219 Goto → block 2 Block 2 67 Constant function IsCallable at 104289c6c7b0 Object 68 Box ← Constant#67 Value 69 DebugCheckSelfHosted ← Box#68 Value 220 AssertClass ← Lambda#34 222 Goto → block 3 Block 3 224 Goto → block 4 Block 4 92 Box ← Constant#2 Value 93 Goto → block 5 Block 5 95 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 96 Box ← Constant#95 Value 97 DebugCheckSelfHosted ← Box#96 Value 100 HasShape ← ObjectKeys#29 Bool 101 Test ← HasShape#100 → block 6, block 7 1 0 Block 6 102 Constant function std_Array at 104289c6c820 Object 103 Box ← Constant#102 Value 104 DebugCheckSelfHosted ← Box#103 Value 107 Unbox DebugCheckSelfHosted#104 to Object (fallible) Object 109 GuardSpecificFunction ← Unbox#107, Constant#102 Object 110 NewArrayDynamicLength ← ArrayLength#51 Object 111 Goto → block 8 Block 7 112 CallGetIntrinsicValue Value 113 DebugCheckSelfHosted ← CallGetIntrinsicValue#112 Value 115 Bail 116 Unreachable Block 8 117 Constant 0x0 I[0, 0]: Int32 133 GuardShape ← ObjectKeys#29 Object 163 LoadFixedSlot ← NewCallObject#8 (slot 2) Value 164 Unbox LoadFixedSlot#163 to Object (fallible) Object 172 GuardShape ← NewArrayDynamicLength#110 Object 118 Goto → block 9 Block 9 (loop header) 119 Phi ← Constant#117, Add#180 I[0 {}, 2147483647 {[loop] #51-1}]: Int32 120 Constant magic optimized-out MagicOptimizedOut 121 InterruptCheck 126 Compare ← Phi#119, ArrayLength#51 Lt Bool 127 Test ← Compare#126 → block 10, block 15 1 0 Block 10 228 Beta ← ArrayLength#51 I[-2147483647, 2147483647] I[0, 2147483647]: Int32 227 Beta ← Phi#119 I[-2147483648, 2147483646] I[0, 2147483646]: Int32 134 Elements ← GuardShape#133 Elements 135 InitializedLength ← Elements#134 I[0, 268435453]: Int32 136 BoundsCheck ← Beta#227, InitializedLength#135 I[0, 2147483646]: Int32 137 SpectreMaskIndex ← BoundsCheck#136, InitializedLength#135 I[0, 2147483646]: Int32 138 GuardElementNotHole ← Elements#134, SpectreMaskIndex#137 225 Goto → block 11 Block 11 153 GuardElementsArePacked ← Elements#134 154 LoadElement ← Elements#134, SpectreMaskIndex#137 Value 226 AssertClass ← Lambda#34 160 Goto → block 12 Block 12 165 MegamorphicLoadSlotByValue ← Unbox#164, LoadElement#154 Value 166 Goto → block 13 Block 13 173 Elements ← GuardShape#172 Elements 174 StoreElementHole ← GuardShape#172, Elements#173, Beta#227, MegamorphicLoadSlotByValue#165 175 Goto → block 14 Block 14 (backedge) 179 Constant 0x1 I[1, 1]: Int32 180 Add ← Beta#227, Constant#179 [int32] I[1, 2147483647]: Int32 181 Goto → block 9 Block 15 184 GuardShape ← NewArrayDynamicLength#110 Object 186 Constant function reduce (self-hosted:205) at 104289c479c0 Object 187 Constant function complex5/< (-e:22) at 104289c63e40 Object 188 Lambda ← NewCallObject#8, Constant#187 Object 193 Call ← Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117 Value 194 Return ← Call#193
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 Box ← FunctionEnvironment#6 Value 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9 11 Box ← Callee#5 Value 12 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11 13 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 14 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 15 PostWriteBarrier ← NewCallObject#8, Parameter#1 16 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 27 Unbox Parameter#1 to Object (fallible) Object 28 GuardIsNotProxy ← Unbox#27 Object 29 ObjectKeys ← GuardIsNotProxy#28 Object 30 GuardShape ← ObjectKeys#29 Object 32 Constant function map (self-hosted:163) at 104289c47920 Object 33 Constant function complex5/< (-e:22) at 104289c63e08 Object 34 Lambda ← NewCallObject#8, Constant#33 Object 38 Goto → block 1 Block 1 40 Constant function ToObject at 104289c6c740 Object 41 Box ← Constant#40 Value 42 DebugCheckSelfHosted ← Box#41 Value 45 Constant function ToLength at 104289c6c778 Object 46 Box ← Constant#45 Value 47 DebugCheckSelfHosted ← Box#46 Value 49 GuardShape ← ObjectKeys#29 Object 50 Elements ← GuardShape#49 Elements 51 ArrayLength ← Elements#50 I[0, 2147483647]: Int32 219 Goto → block 2 Block 2 67 Constant function IsCallable at 104289c6c7b0 Object 68 Box ← Constant#67 Value 69 DebugCheckSelfHosted ← Box#68 Value 220 AssertClass ← Lambda#34 222 Goto → block 3 Block 3 224 Goto → block 4 Block 4 92 Box ← Constant#2 Value 93 Goto → block 5 Block 5 95 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 96 Box ← Constant#95 Value 97 DebugCheckSelfHosted ← Box#96 Value 100 HasShape ← ObjectKeys#29 Bool 101 Test ← HasShape#100 → block 6, block 7 1 0 Block 6 102 Constant function std_Array at 104289c6c820 Object 103 Box ← Constant#102 Value 104 DebugCheckSelfHosted ← Box#103 Value 107 Unbox DebugCheckSelfHosted#104 to Object (fallible) Object 109 GuardSpecificFunction ← Unbox#107, Constant#102 Object 110 NewArrayDynamicLength ← ArrayLength#51 Object 111 Goto → block 8 Block 7 112 CallGetIntrinsicValue Value 113 DebugCheckSelfHosted ← CallGetIntrinsicValue#112 Value 115 Bail 116 Unreachable Block 8 117 Constant 0x0 I[0, 0]: Int32 133 GuardShape ← ObjectKeys#29 Object 163 LoadFixedSlot ← NewCallObject#8 (slot 2) Value 164 Unbox LoadFixedSlot#163 to Object (fallible) Object 172 GuardShape ← NewArrayDynamicLength#110 Object 118 Goto → block 9 Block 9 (loop header) 119 Phi ← Constant#117, Add#180 I[0 {}, 2147483647 {[loop] #51-1}]: Int32 120 Constant magic optimized-out MagicOptimizedOut 121 InterruptCheck 126 Compare ← Phi#119, ArrayLength#51 Lt Bool 127 Test ← Compare#126 → block 10, block 15 1 0 Block 10 134 Elements ← GuardShape#133 Elements 135 InitializedLength ← Elements#134 I[0, 268435453]: Int32 136 BoundsCheck ← Phi#119, InitializedLength#135 I[0, 2147483646]: Int32 137 SpectreMaskIndex ← BoundsCheck#136, InitializedLength#135 I[0, 2147483646]: Int32 138 GuardElementNotHole ← Elements#134, SpectreMaskIndex#137 225 Goto → block 11 Block 11 153 GuardElementsArePacked ← Elements#134 154 LoadElement ← Elements#134, SpectreMaskIndex#137 Value 226 AssertClass ← Lambda#34 160 Goto → block 12 Block 12 165 MegamorphicLoadSlotByValue ← Unbox#164, LoadElement#154 Value 166 Goto → block 13 Block 13 173 Elements ← GuardShape#172 Elements 174 StoreElementHole ← GuardShape#172, Elements#173, Phi#119, MegamorphicLoadSlotByValue#165 175 Goto → block 14 Block 14 (backedge) 179 Constant 0x1 I[1, 1]: Int32 180 Add ← Phi#119, Constant#179 [int32] I[1, 2147483647]: Int32 181 Goto → block 9 Block 15 184 GuardShape ← NewArrayDynamicLength#110 Object 186 Constant function reduce (self-hosted:205) at 104289c479c0 Object 187 Constant function complex5/< (-e:22) at 104289c63e40 Object 188 Lambda ← NewCallObject#8, Constant#187 Object 193 Call ← Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117 Value 194 Return ← Call#193
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 Box ← FunctionEnvironment#6 Value 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9 11 Box ← Callee#5 Value 12 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11 13 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 14 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 15 PostWriteBarrier ← NewCallObject#8, Parameter#1 16 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 27 Unbox Parameter#1 to Object (fallible) Object 28 GuardIsNotProxy ← Unbox#27 Object 29 ObjectKeys ← GuardIsNotProxy#28 Object 30 GuardShape ← ObjectKeys#29 Object 32 Constant function map (self-hosted:163) at 104289c47920 Object 33 Constant function complex5/< (-e:22) at 104289c63e08 Object 34 Lambda ← NewCallObject#8, Constant#33 Object 38 Goto → block 1 Block 1 40 Constant function ToObject at 104289c6c740 Object 41 Box ← Constant#40 Value 42 DebugCheckSelfHosted ← Box#41 Value 45 Constant function ToLength at 104289c6c778 Object 46 Box ← Constant#45 Value 47 DebugCheckSelfHosted ← Box#46 Value 49 GuardShape ← ObjectKeys#29 Object 50 Elements ← GuardShape#49 Elements 51 ArrayLength ← Elements#50 I[0, 2147483647]: Int32 219 Goto → block 2 Block 2 67 Constant function IsCallable at 104289c6c7b0 Object 68 Box ← Constant#67 Value 69 DebugCheckSelfHosted ← Box#68 Value 220 AssertClass ← Lambda#34 222 Goto → block 3 Block 3 224 Goto → block 4 Block 4 92 Box ← Constant#2 Value 93 Goto → block 5 Block 5 95 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 96 Box ← Constant#95 Value 97 DebugCheckSelfHosted ← Box#96 Value 100 HasShape ← ObjectKeys#29 Bool 101 Test ← HasShape#100 → block 6, block 7 1 0 Block 6 102 Constant function std_Array at 104289c6c820 Object 103 Box ← Constant#102 Value 104 DebugCheckSelfHosted ← Box#103 Value 107 Unbox DebugCheckSelfHosted#104 to Object (fallible) Object 109 GuardSpecificFunction ← Unbox#107, Constant#102 Object 110 NewArrayDynamicLength ← ArrayLength#51 Object 111 Goto → block 8 Block 7 112 CallGetIntrinsicValue Value 113 DebugCheckSelfHosted ← CallGetIntrinsicValue#112 Value 115 Bail 116 Unreachable Block 8 117 Constant 0x0 I[0, 0]: Int32 133 GuardShape ← ObjectKeys#29 Object 163 LoadFixedSlot ← NewCallObject#8 (slot 2) Value 164 Unbox LoadFixedSlot#163 to Object (fallible) Object 172 GuardShape ← NewArrayDynamicLength#110 Object 118 Goto → block 9 Block 9 (loop header) 119 Phi ← Constant#117, Add#180 I[0 {}, 2147483647 {[loop] #51-1}]: Int32 120 Constant magic optimized-out MagicOptimizedOut 121 InterruptCheck 126 Compare ← Phi#119, ArrayLength#51 Lt Bool 127 Test ← Compare#126 → block 10, block 15 1 0 Block 10 134 Elements ← GuardShape#133 Elements 135 InitializedLength ← Elements#134 I[0, 268435453]: Int32 136 BoundsCheck ← Phi#119, InitializedLength#135 I[0, 2147483646]: Int32 137 SpectreMaskIndex ← BoundsCheck#136, InitializedLength#135 I[0, 2147483646]: Int32 138 GuardElementNotHole ← Elements#134, SpectreMaskIndex#137 225 Goto → block 11 Block 11 153 GuardElementsArePacked ← Elements#134 154 LoadElement ← Elements#134, SpectreMaskIndex#137 Value 226 AssertClass ← Lambda#34 160 Goto → block 12 Block 12 165 MegamorphicLoadSlotByValue ← Unbox#164, LoadElement#154 Value 166 Goto → block 13 Block 13 173 Elements ← GuardShape#172 Elements 174 StoreElementHole ← GuardShape#172, Elements#173, Phi#119, MegamorphicLoadSlotByValue#165 175 Goto → block 14 Block 14 (backedge) 179 Constant 0x1 I[1, 1]: Int32 180 Add ← Phi#119, Constant#179 [int32] I[1, 2147483647]: Int32 181 Goto → block 9 Block 15 184 GuardShape ← NewArrayDynamicLength#110 Object 186 Constant function reduce (self-hosted:205) at 104289c479c0 Object 187 Constant function complex5/< (-e:22) at 104289c63e40 Object 188 Lambda ← NewCallObject#8, Constant#187 Object 193 Call ← Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117 Value 194 Return ← Call#193
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 Box ← FunctionEnvironment#6 Value 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9 11 Box ← Callee#5 Value 12 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11 13 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 14 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 15 PostWriteBarrier ← NewCallObject#8, Parameter#1 16 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 27 Unbox Parameter#1 to Object (fallible) Object 28 GuardIsNotProxy ← Unbox#27 Object 29 ObjectKeys ← GuardIsNotProxy#28 Object 30 GuardShape ← ObjectKeys#29 Object 32 Constant function map (self-hosted:163) at 104289c47920 Object 33 Constant function complex5/< (-e:22) at 104289c63e08 Object 34 Lambda ← NewCallObject#8, Constant#33 Object 38 Goto → block 1 Block 1 40 Constant function ToObject at 104289c6c740 Object 41 Box ← Constant#40 Value 42 DebugCheckSelfHosted ← Box#41 Value 45 Constant function ToLength at 104289c6c778 Object 46 Box ← Constant#45 Value 47 DebugCheckSelfHosted ← Box#46 Value 49 GuardShape ← ObjectKeys#29 Object 50 Elements ← GuardShape#49 Elements 51 ArrayLength ← Elements#50 I[0, 2147483647]: Int32 219 Goto → block 2 Block 2 67 Constant function IsCallable at 104289c6c7b0 Object 68 Box ← Constant#67 Value 69 DebugCheckSelfHosted ← Box#68 Value 220 AssertClass ← Lambda#34 222 Goto → block 3 Block 3 224 Goto → block 4 Block 4 92 Box ← Constant#2 Value 93 Goto → block 5 Block 5 95 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 96 Box ← Constant#95 Value 97 DebugCheckSelfHosted ← Box#96 Value 100 HasShape ← ObjectKeys#29 Bool 101 Test ← HasShape#100 → block 6, block 7 1 0 Block 6 102 Constant function std_Array at 104289c6c820 Object 103 Box ← Constant#102 Value 104 DebugCheckSelfHosted ← Box#103 Value 107 Unbox DebugCheckSelfHosted#104 to Object (fallible) Object 109 GuardSpecificFunction ← Unbox#107, Constant#102 Object 110 NewArrayDynamicLength ← ArrayLength#51 Object 111 Goto → block 8 Block 7 112 CallGetIntrinsicValue Value 113 DebugCheckSelfHosted ← CallGetIntrinsicValue#112 Value 115 Bail 116 Unreachable Block 8 117 Constant 0x0 I[0, 0]: Int32 133 GuardShape ← ObjectKeys#29 Object 163 LoadFixedSlot ← NewCallObject#8 (slot 2) Value 164 Unbox LoadFixedSlot#163 to Object (fallible) Object 172 GuardShape ← NewArrayDynamicLength#110 Object 118 Goto → block 9 Block 9 (loop header) 119 Phi ← Constant#117, Add#180 I[0 {}, 2147483647 {[loop] #51-1}]: Int32 120 Constant magic optimized-out MagicOptimizedOut 121 InterruptCheck 126 Compare ← Phi#119, ArrayLength#51 Lt Bool 127 Test ← Compare#126 → block 10, block 15 1 0 Block 10 134 Elements ← GuardShape#133 Elements 135 InitializedLength ← Elements#134 I[0, 268435453]: Int32 136 BoundsCheck ← Phi#119, InitializedLength#135 I[0, 2147483646]: Int32 137 SpectreMaskIndex ← BoundsCheck#136, InitializedLength#135 I[0, 2147483646]: Int32 138 GuardElementNotHole ← Elements#134, SpectreMaskIndex#137 225 Goto → block 11 Block 11 153 GuardElementsArePacked ← Elements#134 154 LoadElement ← Elements#134, SpectreMaskIndex#137 Value 226 AssertClass ← Lambda#34 160 Goto → block 12 Block 12 165 MegamorphicLoadSlotByValue ← Unbox#164, LoadElement#154 Value 166 Goto → block 13 Block 13 173 Elements ← GuardShape#172 Elements 174 StoreElementHole ← GuardShape#172, Elements#173, Phi#119, MegamorphicLoadSlotByValue#165 175 Goto → block 14 Block 14 (backedge) 179 Constant 0x1 I[1, 1]: Int32 180 Add ← Phi#119, Constant#179 [int32] I[1, 2147483647]: Int32 181 Goto → block 9 Block 15 184 GuardShape ← NewArrayDynamicLength#110 Object 186 Constant function reduce (self-hosted:205) at 104289c479c0 Object 187 Constant function complex5/< (-e:22) at 104289c63e40 Object 188 Lambda ← NewCallObject#8, Constant#187 Object 193 Call ← Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117 Value 194 Return ← Call#193
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 Box ← FunctionEnvironment#6 Value 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9 11 Box ← Callee#5 Value 12 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11 13 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 14 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 15 PostWriteBarrier ← NewCallObject#8, Parameter#1 16 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 27 Unbox Parameter#1 to Object (fallible) Object 28 GuardIsNotProxy ← Unbox#27 Object 29 ObjectKeys ← GuardIsNotProxy#28 Object 30 GuardShape ← ObjectKeys#29 Object 32 Constant function map (self-hosted:163) at 104289c47920 Object 33 Constant function complex5/< (-e:22) at 104289c63e08 Object 34 Lambda ← NewCallObject#8, Constant#33 Object 38 Goto → block 1 Block 1 40 Constant function ToObject at 104289c6c740 Object 41 Box ← Constant#40 Value 42 DebugCheckSelfHosted ← Box#41 Value 45 Constant function ToLength at 104289c6c778 Object 46 Box ← Constant#45 Value 47 DebugCheckSelfHosted ← Box#46 Value 49 GuardShape ← ObjectKeys#29 Object 50 Elements ← GuardShape#49 Elements 51 ArrayLength ← Elements#50 I[0, 2147483647]: Int32 219 Goto → block 2 Block 2 67 Constant function IsCallable at 104289c6c7b0 Object 68 Box ← Constant#67 Value 69 DebugCheckSelfHosted ← Box#68 Value 220 AssertClass ← Lambda#34 222 Goto → block 3 Block 3 224 Goto → block 4 Block 4 92 Box ← Constant#2 Value 93 Goto → block 5 Block 5 95 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 96 Box ← Constant#95 Value 97 DebugCheckSelfHosted ← Box#96 Value 100 HasShape ← ObjectKeys#29 Bool 101 Test ← HasShape#100 → block 6, block 7 1 0 Block 6 102 Constant function std_Array at 104289c6c820 Object 103 Box ← Constant#102 Value 104 DebugCheckSelfHosted ← Box#103 Value 107 Unbox DebugCheckSelfHosted#104 to Object (fallible) Object 109 GuardSpecificFunction ← Unbox#107, Constant#102 Object 110 NewArrayDynamicLength ← ArrayLength#51 Object 111 Goto → block 8 Block 7 112 CallGetIntrinsicValue Value 113 DebugCheckSelfHosted ← CallGetIntrinsicValue#112 Value 115 Bail 116 Unreachable Block 8 117 Constant 0x0 I[0, 0]: Int32 133 GuardShape ← ObjectKeys#29 Object 163 LoadFixedSlot ← NewCallObject#8 (slot 2) Value 164 Unbox LoadFixedSlot#163 to Object (fallible) Object 172 GuardShape ← NewArrayDynamicLength#110 Object 118 Goto → block 9 Block 9 (loop header) 119 Phi ← Constant#117, Add#180 I[0 {}, 2147483647 {[loop] #51-1}]: Int32 120 Constant magic optimized-out MagicOptimizedOut 121 InterruptCheck 126 Compare ← Phi#119, ArrayLength#51 Lt Bool 127 Test ← Compare#126 → block 10, block 15 1 0 Block 10 134 Elements ← GuardShape#133 Elements 135 InitializedLength ← Elements#134 I[0, 268435453]: Int32 136 BoundsCheck ← Phi#119, InitializedLength#135 I[0, 2147483646]: Int32 137 SpectreMaskIndex ← BoundsCheck#136, InitializedLength#135 I[0, 2147483646]: Int32 138 GuardElementNotHole ← Elements#134, SpectreMaskIndex#137 225 Goto → block 11 Block 11 153 GuardElementsArePacked ← Elements#134 154 LoadElement ← Elements#134, SpectreMaskIndex#137 Value 226 AssertClass ← Lambda#34 160 Goto → block 12 Block 12 165 MegamorphicLoadSlotByValue ← Unbox#164, LoadElement#154 Value 166 Goto → block 13 Block 13 173 Elements ← GuardShape#172 Elements 174 StoreElementHole ← GuardShape#172, Elements#173, Phi#119, MegamorphicLoadSlotByValue#165 175 Goto → block 14 Block 14 (backedge) 179 Constant 0x1 I[1, 1]: Int32 180 Add ← Phi#119, Constant#179 [int32] I[1, 2147483647]: Int32 181 Goto → block 9 Block 15 184 GuardShape ← NewArrayDynamicLength#110 Object 186 Constant function reduce (self-hosted:205) at 104289c479c0 Object 187 Constant function complex5/< (-e:22) at 104289c63e40 Object 188 Lambda ← NewCallObject#8, Constant#187 Object 193 Call ← Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117 Value 194 Return ← Call#193
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 Box ← FunctionEnvironment#6 Value 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9 11 Box ← Callee#5 Value 12 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11 13 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 14 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 15 PostWriteBarrier ← NewCallObject#8, Parameter#1 16 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 27 Unbox Parameter#1 to Object (fallible) Object 28 GuardIsNotProxy ← Unbox#27 Object 29 ObjectKeys ← GuardIsNotProxy#28 Object 30 GuardShape ← ObjectKeys#29 Object 32 Constant function map (self-hosted:163) at 104289c47920 Object 33 Constant function complex5/< (-e:22) at 104289c63e08 Object 34 Lambda ← NewCallObject#8, Constant#33 Object 38 Goto → block 1 Block 1 40 Constant function ToObject at 104289c6c740 Object 41 Box ← Constant#40 Value 42 DebugCheckSelfHosted ← Box#41 Value 45 Constant function ToLength at 104289c6c778 Object 46 Box ← Constant#45 Value 47 DebugCheckSelfHosted ← Box#46 Value 49 GuardShape ← ObjectKeys#29 Object 50 Elements ← GuardShape#49 Elements 51 ArrayLength ← Elements#50 I[0, 2147483647]: Int32 219 Goto → block 2 Block 2 67 Constant function IsCallable at 104289c6c7b0 Object 68 Box ← Constant#67 Value 69 DebugCheckSelfHosted ← Box#68 Value 220 AssertClass ← Lambda#34 222 Goto → block 3 Block 3 224 Goto → block 4 Block 4 92 Box ← Constant#2 Value 93 Goto → block 5 Block 5 95 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 96 Box ← Constant#95 Value 97 DebugCheckSelfHosted ← Box#96 Value 100 HasShape ← ObjectKeys#29 Bool 101 Test ← HasShape#100 → block 6, block 7 1 0 Block 6 102 Constant function std_Array at 104289c6c820 Object 103 Box ← Constant#102 Value 104 DebugCheckSelfHosted ← Box#103 Value 107 Unbox DebugCheckSelfHosted#104 to Object (fallible) Object 109 GuardSpecificFunction ← Unbox#107, Constant#102 Object 110 NewArrayDynamicLength ← ArrayLength#51 Object 111 Goto → block 8 Block 7 112 CallGetIntrinsicValue Value 113 DebugCheckSelfHosted ← CallGetIntrinsicValue#112 Value 115 Bail 116 Unreachable Block 8 117 Constant 0x0 I[0, 0]: Int32 133 GuardShape ← ObjectKeys#29 Object 163 LoadFixedSlot ← NewCallObject#8 (slot 2) Value 164 Unbox LoadFixedSlot#163 to Object (fallible) Object 172 GuardShape ← NewArrayDynamicLength#110 Object 118 Goto → block 9 Block 9 (loop header) 119 Phi ← Constant#117, Add#180 I[0 {}, 2147483647 {[loop] #51-1}]: Int32 120 Constant magic optimized-out MagicOptimizedOut 121 InterruptCheck 126 Compare ← Phi#119, ArrayLength#51 Lt Bool 127 Test ← Compare#126 → block 10, block 15 1 0 Block 10 134 Elements ← GuardShape#133 Elements 135 InitializedLength ← Elements#134 I[0, 268435453]: Int32 136 BoundsCheck ← Phi#119, InitializedLength#135 I[0, 2147483646]: Int32 137 SpectreMaskIndex ← BoundsCheck#136, InitializedLength#135 I[0, 2147483646]: Int32 138 GuardElementNotHole ← Elements#134, SpectreMaskIndex#137 225 Goto → block 11 Block 11 153 GuardElementsArePacked ← Elements#134 154 LoadElement ← Elements#134, SpectreMaskIndex#137 Value 226 AssertClass ← Lambda#34 160 Goto → block 12 Block 12 165 MegamorphicLoadSlotByValue ← Unbox#164, LoadElement#154 Value 166 Goto → block 13 Block 13 173 Elements ← GuardShape#172 Elements 174 StoreElementHole ← GuardShape#172, Elements#173, Phi#119, MegamorphicLoadSlotByValue#165 175 Goto → block 14 Block 14 (backedge) 179 Constant 0x1 I[1, 1]: Int32 180 Add ← Phi#119, Constant#179 [int32] I[1, 2147483647]: Int32 181 Goto → block 9 Block 15 184 GuardShape ← NewArrayDynamicLength#110 Object 186 Constant function reduce (self-hosted:205) at 104289c479c0 Object 187 Constant function complex5/< (-e:22) at 104289c63e40 Object 188 Lambda ← NewCallObject#8, Constant#187 Object 193 Call ← Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117 Value 194 Return ← Call#193
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 Box ← FunctionEnvironment#6 Value 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9 11 Box ← Callee#5 Value 12 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11 13 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 14 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 15 PostWriteBarrier ← NewCallObject#8, Parameter#1 16 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 27 Unbox Parameter#1 to Object (fallible) Object 28 GuardIsNotProxy ← Unbox#27 Object 29 ObjectKeys ← GuardIsNotProxy#28 Object 30 GuardShape ← ObjectKeys#29 Object 32 Constant function map (self-hosted:163) at 104289c47920 Object 33 Constant function complex5/< (-e:22) at 104289c63e08 Object 34 Lambda ← NewCallObject#8, Constant#33 Object 38 Goto → block 1 Block 1 40 Constant function ToObject at 104289c6c740 Object 41 Box ← Constant#40 Value 42 DebugCheckSelfHosted ← Box#41 Value 45 Constant function ToLength at 104289c6c778 Object 46 Box ← Constant#45 Value 47 DebugCheckSelfHosted ← Box#46 Value 49 GuardShape ← ObjectKeys#29 Object 50 Elements ← GuardShape#49 Elements 51 ArrayLength ← Elements#50 I[0, 2147483647]: Int32 219 Goto → block 2 Block 2 67 Constant function IsCallable at 104289c6c7b0 Object 68 Box ← Constant#67 Value 69 DebugCheckSelfHosted ← Box#68 Value 220 AssertClass ← Lambda#34 222 Goto → block 3 Block 3 224 Goto → block 4 Block 4 92 Box ← Constant#2 Value 93 Goto → block 5 Block 5 95 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 96 Box ← Constant#95 Value 97 DebugCheckSelfHosted ← Box#96 Value 100 HasShape ← ObjectKeys#29 Bool 101 Test ← HasShape#100 → block 6, block 7 1 0 Block 6 102 Constant function std_Array at 104289c6c820 Object 103 Box ← Constant#102 Value 104 DebugCheckSelfHosted ← Box#103 Value 107 Unbox DebugCheckSelfHosted#104 to Object (fallible) Object 109 GuardSpecificFunction ← Unbox#107, Constant#102 Object 110 NewArrayDynamicLength ← ArrayLength#51 Object 111 Goto → block 8 Block 7 112 CallGetIntrinsicValue Value 113 DebugCheckSelfHosted ← CallGetIntrinsicValue#112 Value 115 Bail 116 Unreachable Block 8 117 Constant 0x0 I[0, 0]: Int32 133 GuardShape ← ObjectKeys#29 Object 163 LoadFixedSlot ← NewCallObject#8 (slot 2) Value 164 Unbox LoadFixedSlot#163 to Object (fallible) Object 172 GuardShape ← NewArrayDynamicLength#110 Object 118 Goto → block 9 Block 9 (loop header) 119 Phi ← Constant#117, Add#180 I[0 {}, 2147483647 {[loop] #51-1}]: Int32 120 Constant magic optimized-out MagicOptimizedOut 121 InterruptCheck 126 Compare ← Phi#119, ArrayLength#51 Lt Bool 127 Test ← Compare#126 → block 10, block 15 1 0 Block 10 134 Elements ← GuardShape#133 Elements 135 InitializedLength ← Elements#134 I[0, 268435453]: Int32 136 BoundsCheck ← Phi#119, InitializedLength#135 I[0, 2147483646]: Int32 137 SpectreMaskIndex ← BoundsCheck#136, InitializedLength#135 I[0, 2147483646]: Int32 138 GuardElementNotHole ← Elements#134, SpectreMaskIndex#137 225 Goto → block 11 Block 11 153 GuardElementsArePacked ← Elements#134 154 LoadElement ← Elements#134, SpectreMaskIndex#137 Value 226 AssertClass ← Lambda#34 160 Goto → block 12 Block 12 165 MegamorphicLoadSlotByValue ← Unbox#164, LoadElement#154 Value 166 Goto → block 13 Block 13 173 Elements ← GuardShape#172 Elements 174 StoreElementHole ← GuardShape#172, Elements#173, Phi#119, MegamorphicLoadSlotByValue#165 175 Goto → block 14 Block 14 (backedge) 179 Constant 0x1 I[1, 1]: Int32 180 Add ← Phi#119, Constant#179 [int32] I[1, 2147483647]: Int32 181 Goto → block 9 Block 15 184 GuardShape ← NewArrayDynamicLength#110 Object 186 Constant function reduce (self-hosted:205) at 104289c479c0 Object 187 Constant function complex5/< (-e:22) at 104289c63e40 Object 188 Lambda ← NewCallObject#8, Constant#187 Object 193 Call ← Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117 Value 194 Return ← Call#193
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 Box ← FunctionEnvironment#6 Value 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9 11 Box ← Callee#5 Value 12 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11 13 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 14 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 15 PostWriteBarrier ← NewCallObject#8, Parameter#1 16 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 27 Unbox Parameter#1 to Object (fallible) Object 28 GuardIsNotProxy ← Unbox#27 Object 29 ObjectKeys ← GuardIsNotProxy#28 Object 30 GuardShape ← ObjectKeys#29 Object 32 Constant function map (self-hosted:163) at 104289c47920 Object 33 Constant function complex5/< (-e:22) at 104289c63e08 Object 34 Lambda ← NewCallObject#8, Constant#33 Object 38 Goto → block 1 Block 1 40 Constant function ToObject at 104289c6c740 Object 41 Box ← Constant#40 Value 42 DebugCheckSelfHosted ← Box#41 Value 45 Constant function ToLength at 104289c6c778 Object 46 Box ← Constant#45 Value 47 DebugCheckSelfHosted ← Box#46 Value 49 GuardShape ← ObjectKeys#29 Object 50 Elements ← GuardShape#49 Elements 51 ArrayLength ← Elements#50 I[0, 2147483647]: Int32 219 Goto → block 2 Block 2 67 Constant function IsCallable at 104289c6c7b0 Object 68 Box ← Constant#67 Value 69 DebugCheckSelfHosted ← Box#68 Value 220 AssertClass ← Lambda#34 222 Goto → block 3 Block 3 224 Goto → block 4 Block 4 92 Box ← Constant#2 Value 93 Goto → block 5 Block 5 95 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 96 Box ← Constant#95 Value 97 DebugCheckSelfHosted ← Box#96 Value 100 HasShape ← ObjectKeys#29 Bool 101 Test ← HasShape#100 → block 6, block 7 1 0 Block 6 102 Constant function std_Array at 104289c6c820 Object 103 Box ← Constant#102 Value 104 DebugCheckSelfHosted ← Box#103 Value 107 Unbox DebugCheckSelfHosted#104 to Object (fallible) Object 109 GuardSpecificFunction ← Unbox#107, Constant#102 Object 110 NewArrayDynamicLength ← ArrayLength#51 Object 111 Goto → block 8 Block 7 112 CallGetIntrinsicValue Value 113 DebugCheckSelfHosted ← CallGetIntrinsicValue#112 Value 115 Bail 116 Unreachable Block 8 117 Constant 0x0 I[0, 0]: Int32 133 GuardShape ← ObjectKeys#29 Object 163 LoadFixedSlot ← NewCallObject#8 (slot 2) Value 164 Unbox LoadFixedSlot#163 to Object (fallible) Object 172 GuardShape ← NewArrayDynamicLength#110 Object 118 Goto → block 9 Block 9 (loop header) 119 Phi ← Constant#117, Add#180 I[0 {}, 2147483647 {[loop] #51-1}]: Int32 120 Constant magic optimized-out MagicOptimizedOut 121 InterruptCheck 126 Compare ← Phi#119, ArrayLength#51 Lt Bool 127 Test ← Compare#126 → block 10, block 15 1 0 Block 10 134 Elements ← GuardShape#133 Elements 135 InitializedLength ← Elements#134 I[0, 268435453]: Int32 136 BoundsCheck ← Phi#119, InitializedLength#135 I[0, 2147483646]: Int32 137 SpectreMaskIndex ← BoundsCheck#136, InitializedLength#135 I[0, 2147483646]: Int32 138 GuardElementNotHole ← Elements#134, SpectreMaskIndex#137 225 Goto → block 11 Block 11 153 GuardElementsArePacked ← Elements#134 154 LoadElement ← Elements#134, SpectreMaskIndex#137 Value 226 AssertClass ← Lambda#34 160 Goto → block 12 Block 12 165 MegamorphicLoadSlotByValue ← Unbox#164, LoadElement#154 Value 166 Goto → block 13 Block 13 173 Elements ← GuardShape#172 Elements 174 StoreElementHole ← GuardShape#172, Elements#173, Phi#119, MegamorphicLoadSlotByValue#165 175 Goto → block 14 Block 14 (backedge) 179 Constant 0x1 I[1, 1]: Int32 180 Add ← Phi#119, Constant#179 [int32] I[1, 2147483647]: Int32 181 Goto → block 9 Block 15 184 GuardShape ← NewArrayDynamicLength#110 Object 186 Constant function reduce (self-hosted:205) at 104289c479c0 Object 187 Constant function complex5/< (-e:22) at 104289c63e40 Object 188 Lambda ← NewCallObject#8, Constant#187 Object 193 Call ← Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117 Value 194 Return ← Call#193
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 Box ← FunctionEnvironment#6 Value 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9 11 Box ← Callee#5 Value 12 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11 13 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 14 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 15 PostWriteBarrier ← NewCallObject#8, Parameter#1 16 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 17 Unbox Parameter#1 to Object (fallible) Object 18 GuardIsNotProxy ← Unbox#17 Object 19 ObjectKeys ← GuardIsNotProxy#18 Object 20 GuardShape ← ObjectKeys#19 Object 21 Constant function map (self-hosted:163) at 104289c47920 Object 22 Constant function complex5/< (-e:22) at 104289c63e08 Object 23 Lambda ← NewCallObject#8, Constant#22 Object 24 Goto → block 1 Block 1 25 Constant function ToObject at 104289c6c740 Object 26 Constant function ToLength at 104289c6c778 Object 27 Box ← Constant#25 Value 28 DebugCheckSelfHosted ← Box#27 Value 29 Box ← Constant#26 Value 30 DebugCheckSelfHosted ← Box#29 Value 31 GuardShape ← ObjectKeys#19 Object 32 Elements ← GuardShape#31 Elements 33 ArrayLength ← Elements#32 I[0, 2147483647]: Int32 34 Goto → block 2 Block 2 35 Constant function IsCallable at 104289c6c7b0 Object 36 Box ← Constant#35 Value 37 DebugCheckSelfHosted ← Box#36 Value 38 AssertClass ← Lambda#23 39 Goto → block 3 Block 3 40 Goto → block 4 Block 4 41 Box ← Constant#2 Value 42 Goto → block 5 Block 5 43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 44 Box ← Constant#43 Value 45 DebugCheckSelfHosted ← Box#44 Value 46 HasShape ← ObjectKeys#19 Bool 47 Test ← HasShape#46 → block 6, block 7 1 0 Block 6 48 Constant function std_Array at 104289c6c820 Object 49 Box ← Constant#48 Value 50 DebugCheckSelfHosted ← Box#49 Value 51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object 52 GuardSpecificFunction ← Unbox#51, Constant#48 Object 53 NewArrayDynamicLength ← ArrayLength#33 Object 54 Goto → block 8 Block 7 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Bail 58 Unreachable Block 8 59 Constant 0x0 I[0, 0]: Int32 60 GuardShape ← ObjectKeys#19 Object 61 LoadFixedSlot ← NewCallObject#8 (slot 2) Value 62 Unbox LoadFixedSlot#61 to Object (fallible) Object 63 GuardShape ← NewArrayDynamicLength#53 Object 64 Goto → block 9 Block 9 (loop header) 65 Phi ← Constant#59, Add#86 I[0 {}, 2147483647 {[loop] #33-1}]: Int32 66 Constant magic optimized-out MagicOptimizedOut 67 InterruptCheck 68 Compare ← Phi#65, ArrayLength#33 Lt Bool 69 Test ← Compare#68 → block 10, block 15 1 0 Block 10 70 Elements ← GuardShape#60 Elements 71 InitializedLength ← Elements#70 I[0, 268435453]: Int32 72 BoundsCheck ← Phi#65, InitializedLength#71 I[0, 2147483646]: Int32 73 SpectreMaskIndex ← BoundsCheck#72, InitializedLength#71 I[0, 2147483646]: Int32 74 GuardElementNotHole ← Elements#70, SpectreMaskIndex#73 75 Goto → block 11 Block 11 76 GuardElementsArePacked ← Elements#70 77 LoadElement ← Elements#70, SpectreMaskIndex#73 Value 78 AssertClass ← Lambda#23 79 Goto → block 12 Block 12 80 MegamorphicLoadSlotByValue ← Unbox#62, LoadElement#77 Value 81 Goto → block 13 Block 13 82 Elements ← GuardShape#63 Elements 83 StoreElementHole ← GuardShape#63, Elements#82, Phi#65, MegamorphicLoadSlotByValue#80 84 Goto → block 14 Block 14 (backedge) 85 Constant 0x1 I[1, 1]: Int32 86 Add ← Phi#65, Constant#85 [int32] I[1, 2147483647]: Int32 87 Goto → block 9 Block 15 88 Constant function complex5/< (-e:22) at 104289c63e40 Object 89 GuardShape ← NewArrayDynamicLength#53 Object 90 Constant function reduce (self-hosted:205) at 104289c479c0 Object 91 Lambda ← NewCallObject#8, Constant#88 Object 92 Call ← Constant#90, NewArrayDynamicLength#53, Lambda#91, Constant#59 Value 93 Return ← Call#92
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 Box ← FunctionEnvironment#6 Value 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9 11 Box ← Callee#5 Value 12 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11 13 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 14 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 15 PostWriteBarrier ← NewCallObject#8, Parameter#1 16 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 17 Unbox Parameter#1 to Object (fallible) Object 18 GuardIsNotProxy ← Unbox#17 Object 19 ObjectKeys ← GuardIsNotProxy#18 Object 20 GuardShape ← ObjectKeys#19 Object 21 Constant function map (self-hosted:163) at 104289c47920 Object 22 Constant function complex5/< (-e:22) at 104289c63e08 Object 23 Lambda ← NewCallObject#8, Constant#22 Object 24 Goto → block 1 Block 1 25 Constant function ToObject at 104289c6c740 Object 26 Constant function ToLength at 104289c6c778 Object 27 Box ← Constant#25 Value 28 DebugCheckSelfHosted ← Box#27 Value 29 Box ← Constant#26 Value 30 DebugCheckSelfHosted ← Box#29 Value 31 GuardShape ← ObjectKeys#19 Object 32 Elements ← GuardShape#31 Elements 33 ArrayLength ← Elements#32 I[0, 2147483647]: Int32 34 Goto → block 2 Block 2 35 Constant function IsCallable at 104289c6c7b0 Object 36 Box ← Constant#35 Value 37 DebugCheckSelfHosted ← Box#36 Value 38 AssertClass ← Lambda#23 39 Goto → block 3 Block 3 40 Goto → block 4 Block 4 41 Box ← Constant#2 Value 42 Goto → block 5 Block 5 43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 44 Box ← Constant#43 Value 45 DebugCheckSelfHosted ← Box#44 Value 46 HasShape ← ObjectKeys#19 Bool 47 Test ← HasShape#46 → block 6, block 7 1 0 Block 6 48 Constant function std_Array at 104289c6c820 Object 49 Box ← Constant#48 Value 50 DebugCheckSelfHosted ← Box#49 Value 51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object 52 GuardSpecificFunction ← Unbox#51, Constant#48 Object 53 NewArrayDynamicLength ← ArrayLength#33 Object 54 Goto → block 8 Block 7 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Bail 58 Unreachable Block 8 59 Constant 0x0 I[0, 0]: Int32 60 GuardShape ← ObjectKeys#19 Object 61 LoadFixedSlot ← NewCallObject#8 (slot 2) Value 62 Unbox LoadFixedSlot#61 to Object (fallible) Object 63 GuardShape ← NewArrayDynamicLength#53 Object 64 Goto → block 9 Block 9 (loop header) 65 Phi ← Constant#59, Add#86 I[0 {}, 2147483647 {[loop] #33-1}]: Int32 66 Constant magic optimized-out MagicOptimizedOut 67 InterruptCheck 68 Compare ← Phi#65, ArrayLength#33 Lt Bool 69 Test ← Compare#68 → block 10, block 15 1 0 Block 10 70 Elements ← GuardShape#60 Elements 71 InitializedLength ← Elements#70 I[0, 268435453]: Int32 72 BoundsCheck ← Phi#65, InitializedLength#71 I[0, 2147483646]: Int32 73 SpectreMaskIndex ← BoundsCheck#72, InitializedLength#71 I[0, 2147483646]: Int32 74 GuardElementNotHole ← Elements#70, SpectreMaskIndex#73 75 Goto → block 11 Block 11 76 GuardElementsArePacked ← Elements#70 77 LoadElement ← Elements#70, SpectreMaskIndex#73 Value 78 AssertClass ← Lambda#23 79 Goto → block 12 Block 12 80 MegamorphicLoadSlotByValue ← Unbox#62, LoadElement#77 Value 81 Goto → block 13 Block 13 82 Elements ← GuardShape#63 Elements 83 StoreElementHole ← GuardShape#63, Elements#82, Phi#65, MegamorphicLoadSlotByValue#80 84 Goto → block 14 Block 14 (backedge) 85 Constant 0x1 I[1, 1]: Int32 86 Add ← Phi#65, Constant#85 [int32] I[1, 2147483647]: Int32 87 Goto → block 9 Block 15 88 Constant function complex5/< (-e:22) at 104289c63e40 Object 89 GuardShape ← NewArrayDynamicLength#53 Object 90 Constant function reduce (self-hosted:205) at 104289c479c0 Object 91 Lambda ← NewCallObject#8, Constant#88 Object 92 Call ← Constant#90, NewArrayDynamicLength#53, Lambda#91, Constant#59 Value 93 Return ← Call#92
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 Box ← FunctionEnvironment#6 Value 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9 11 Box ← Callee#5 Value 12 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11 13 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 14 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 15 PostWriteBarrier ← NewCallObject#8, Parameter#1 16 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 17 Unbox Parameter#1 to Object (fallible) Object 18 GuardIsNotProxy ← Unbox#17 Object 19 ObjectKeys ← GuardIsNotProxy#18 Object 20 GuardShape ← ObjectKeys#19 Object 21 Constant function map (self-hosted:163) at 104289c47920 Object 22 Constant function complex5/< (-e:22) at 104289c63e08 Object 23 Lambda ← NewCallObject#8, Constant#22 Object 24 Goto → block 1 Block 1 25 Constant function ToObject at 104289c6c740 Object 26 Constant function ToLength at 104289c6c778 Object 27 Box ← Constant#25 Value 28 DebugCheckSelfHosted ← Box#27 Value 29 Box ← Constant#26 Value 30 DebugCheckSelfHosted ← Box#29 Value 31 GuardShape ← ObjectKeys#19 Object 32 Elements ← GuardShape#31 Elements 33 ArrayLength ← Elements#32 I[0, 2147483647]: Int32 34 Goto → block 2 Block 2 35 Constant function IsCallable at 104289c6c7b0 Object 36 Box ← Constant#35 Value 37 DebugCheckSelfHosted ← Box#36 Value 38 AssertClass ← Lambda#23 39 Goto → block 3 Block 3 40 Goto → block 4 Block 4 41 Box ← Constant#2 Value 42 Goto → block 5 Block 5 43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 44 Box ← Constant#43 Value 45 DebugCheckSelfHosted ← Box#44 Value 46 HasShape ← ObjectKeys#19 Bool 47 Test ← HasShape#46 → block 6, block 7 1 0 Block 6 48 Constant function std_Array at 104289c6c820 Object 49 Box ← Constant#48 Value 50 DebugCheckSelfHosted ← Box#49 Value 51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object 52 GuardSpecificFunction ← Unbox#51, Constant#48 Object 53 NewArrayDynamicLength ← ArrayLength#33 Object 54 Goto → block 8 Block 7 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Bail 58 Unreachable Block 8 59 Constant 0x0 I[0, 0]: Int32 60 GuardShape ← ObjectKeys#19 Object 61 LoadFixedSlot ← NewCallObject#8 (slot 2) Value 62 Unbox LoadFixedSlot#61 to Object (fallible) Object 63 GuardShape ← NewArrayDynamicLength#53 Object 64 Goto → block 9 Block 9 (loop header) 65 Phi ← Constant#59, Add#86 I[0 {}, 2147483647 {[loop] #33-1}]: Int32 66 Constant magic optimized-out MagicOptimizedOut 67 InterruptCheck 68 Compare ← Phi#65, ArrayLength#33 Lt Bool 69 Test ← Compare#68 → block 10, block 15 1 0 Block 10 70 Elements ← GuardShape#60 Elements 71 InitializedLength ← Elements#70 I[0, 268435453]: Int32 72 BoundsCheck ← Phi#65, InitializedLength#71 I[0, 2147483646]: Int32 73 SpectreMaskIndex ← BoundsCheck#72, InitializedLength#71 I[0, 2147483646]: Int32 74 GuardElementNotHole ← Elements#70, SpectreMaskIndex#73 75 Goto → block 11 Block 11 76 GuardElementsArePacked ← Elements#70 77 LoadElement ← Elements#70, SpectreMaskIndex#73 Value 78 AssertClass ← Lambda#23 79 Goto → block 12 Block 12 80 MegamorphicLoadSlotByValue ← Unbox#62, LoadElement#77 Value 81 Goto → block 13 Block 13 82 Elements ← GuardShape#63 Elements 83 StoreElementHole ← GuardShape#63, Elements#82, Phi#65, MegamorphicLoadSlotByValue#80 84 Goto → block 14 Block 14 (backedge) 85 Constant 0x1 I[1, 1]: Int32 86 Add ← Phi#65, Constant#85 [int32] I[1, 2147483647]: Int32 87 Goto → block 9 Block 15 88 Constant function complex5/< (-e:22) at 104289c63e40 Object 89 GuardShape ← NewArrayDynamicLength#53 Object 90 Constant function reduce (self-hosted:205) at 104289c479c0 Object 91 Lambda ← NewCallObject#8, Constant#88 Object 92 Call ← Constant#90, NewArrayDynamicLength#53, Lambda#91, Constant#59 Value 93 Return ← Call#92
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 Box ← FunctionEnvironment#6 Value 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9 11 Box ← Callee#5 Value 12 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11 13 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 14 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 15 PostWriteBarrier ← NewCallObject#8, Parameter#1 16 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 17 Unbox Parameter#1 to Object (fallible) Object 18 GuardIsNotProxy ← Unbox#17 Object 19 ObjectKeys ← GuardIsNotProxy#18 Object 20 GuardShape ← ObjectKeys#19 Object 21 Constant function map (self-hosted:163) at 104289c47920 Object 22 Constant function complex5/< (-e:22) at 104289c63e08 Object 23 Lambda ← NewCallObject#8, Constant#22 Object 24 Goto → block 1 Block 1 25 Constant function ToObject at 104289c6c740 Object 26 Constant function ToLength at 104289c6c778 Object 27 Box ← Constant#25 Value 28 DebugCheckSelfHosted ← Box#27 Value 29 Box ← Constant#26 Value 30 DebugCheckSelfHosted ← Box#29 Value 31 GuardShape ← ObjectKeys#19 Object 32 Elements ← GuardShape#31 Elements 33 ArrayLength ← Elements#32 I[0, 2147483647]: Int32 34 Goto → block 2 Block 2 35 Constant function IsCallable at 104289c6c7b0 Object 36 Box ← Constant#35 Value 37 DebugCheckSelfHosted ← Box#36 Value 38 AssertClass ← Lambda#23 39 Goto → block 3 Block 3 40 Goto → block 4 Block 4 41 Box ← Constant#2 Value 42 Goto → block 5 Block 5 43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 44 Box ← Constant#43 Value 45 DebugCheckSelfHosted ← Box#44 Value 46 HasShape ← ObjectKeys#19 Bool 47 Test ← HasShape#46 → block 6, block 7 1 0 Block 6 48 Constant function std_Array at 104289c6c820 Object 49 Box ← Constant#48 Value 50 DebugCheckSelfHosted ← Box#49 Value 51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object 52 GuardSpecificFunction ← Unbox#51, Constant#48 Object 53 NewArrayDynamicLength ← ArrayLength#33 Object 54 Goto → block 8 Block 7 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Bail 58 Unreachable Block 8 59 Constant 0x0 I[0, 0]: Int32 60 GuardShape ← ObjectKeys#19 Object 61 LoadFixedSlot ← NewCallObject#8 (slot 2) Value 62 Unbox LoadFixedSlot#61 to Object (fallible) Object 63 GuardShape ← NewArrayDynamicLength#53 Object 64 Goto → block 9 Block 9 (loop header) 65 Phi ← Constant#59, Add#86 I[0 {}, 2147483647 {[loop] #33-1}]: Int32 66 Constant magic optimized-out MagicOptimizedOut 67 InterruptCheck 68 Compare ← Phi#65, ArrayLength#33 Lt Bool 69 Test ← Compare#68 → block 10, block 15 1 0 Block 10 70 Elements ← GuardShape#60 Elements 71 InitializedLength ← Elements#70 I[0, 268435453]: Int32 72 BoundsCheck ← Phi#65, InitializedLength#71 I[0, 2147483646]: Int32 73 SpectreMaskIndex ← Phi#65, InitializedLength#71 I[0, 2147483646]: Int32 74 GuardElementNotHole ← Elements#70, SpectreMaskIndex#73 75 Goto → block 11 Block 11 76 GuardElementsArePacked ← Elements#70 77 LoadElement ← Elements#70, SpectreMaskIndex#73 Value 78 AssertClass ← Lambda#23 79 Goto → block 12 Block 12 80 MegamorphicLoadSlotByValue ← Unbox#62, LoadElement#77 Value 81 Goto → block 13 Block 13 82 Elements ← GuardShape#63 Elements 83 StoreElementHole ← GuardShape#63, Elements#82, Phi#65, MegamorphicLoadSlotByValue#80 84 Goto → block 14 Block 14 (backedge) 85 Constant 0x1 I[1, 1]: Int32 86 Add ← Phi#65, Constant#85 [int32] I[1, 2147483647]: Int32 87 Goto → block 9 Block 15 88 Constant function complex5/< (-e:22) at 104289c63e40 Object 89 GuardShape ← NewArrayDynamicLength#53 Object 90 Constant function reduce (self-hosted:205) at 104289c479c0 Object 91 Lambda ← NewCallObject#8, Constant#88 Object 92 Call ← Constant#90, NewArrayDynamicLength#53, Lambda#91, Constant#59 Value 93 Return ← Call#92
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 Box ← FunctionEnvironment#6 Value 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9 11 Box ← Callee#5 Value 12 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11 13 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 14 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 15 PostWriteBarrier ← NewCallObject#8, Parameter#1 16 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 17 Unbox Parameter#1 to Object (fallible) Object 18 GuardIsNotProxy ← Unbox#17 Object 19 ObjectKeys ← GuardIsNotProxy#18 Object 20 GuardShape ← ObjectKeys#19 Object 21 Constant function map (self-hosted:163) at 104289c47920 Object 22 Constant function complex5/< (-e:22) at 104289c63e08 Object 23 Lambda ← NewCallObject#8, Constant#22 Object 24 Goto → block 1 Block 1 25 Constant function ToObject at 104289c6c740 Object 26 Constant function ToLength at 104289c6c778 Object 27 Box ← Constant#25 Value 28 DebugCheckSelfHosted ← Box#27 Value 29 Box ← Constant#26 Value 30 DebugCheckSelfHosted ← Box#29 Value 31 GuardShape ← ObjectKeys#19 Object 32 Elements ← GuardShape#31 Elements 33 ArrayLength ← Elements#32 I[0, 2147483647]: Int32 34 Goto → block 2 Block 2 35 Constant function IsCallable at 104289c6c7b0 Object 36 Box ← Constant#35 Value 37 DebugCheckSelfHosted ← Box#36 Value 38 AssertClass ← Lambda#23 39 Goto → block 3 Block 3 40 Goto → block 4 Block 4 41 Box ← Constant#2 Value 42 Goto → block 5 Block 5 43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 44 Box ← Constant#43 Value 45 DebugCheckSelfHosted ← Box#44 Value 46 HasShape ← ObjectKeys#19 Bool 47 Test ← HasShape#46 → block 6, block 7 1 0 Block 6 48 Constant function std_Array at 104289c6c820 Object 49 Box ← Constant#48 Value 50 DebugCheckSelfHosted ← Box#49 Value 51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object 52 GuardSpecificFunction ← Unbox#51, Constant#48 Object 53 NewArrayDynamicLength ← ArrayLength#33 Object 54 Goto → block 8 Block 7 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Bail 58 Unreachable Block 8 59 Constant 0x0 I[0, 0]: Int32 60 GuardShape ← ObjectKeys#19 Object 61 LoadFixedSlot ← NewCallObject#8 (slot 2) Value 62 Unbox LoadFixedSlot#61 to Object (fallible) Object 63 GuardShape ← NewArrayDynamicLength#53 Object 64 Goto → block 9 Block 9 (loop header) 65 Phi ← Constant#59, Add#86 I[0 {}, 2147483647 {[loop] #33-1}]: Int32 66 Constant magic optimized-out MagicOptimizedOut 67 InterruptCheck 68 Compare ← Phi#65, ArrayLength#33 Lt Bool 69 Test ← Compare#68 → block 10, block 15 1 0 Block 10 70 Elements ← GuardShape#60 Elements 71 InitializedLength ← Elements#70 I[0, 268435453]: Int32 72 BoundsCheck ← Phi#65, InitializedLength#71 I[0, 2147483646]: Int32 73 SpectreMaskIndex ← Phi#65, InitializedLength#71 I[0, 2147483646]: Int32 74 GuardElementNotHole ← Elements#70, SpectreMaskIndex#73 75 Goto → block 11 Block 11 76 GuardElementsArePacked ← Elements#70 77 LoadElement ← Elements#70, SpectreMaskIndex#73 Value 78 AssertClass ← Lambda#23 79 Goto → block 12 Block 12 80 MegamorphicLoadSlotByValue ← Unbox#62, LoadElement#77 Value 81 Goto → block 13 Block 13 82 Elements ← GuardShape#63 Elements 83 StoreElementHole ← GuardShape#63, Elements#82, Phi#65, MegamorphicLoadSlotByValue#80 84 Goto → block 14 Block 14 (backedge) 85 Constant 0x1 I[1, 1]: Int32 86 Add ← Phi#65, Constant#85 [int32] I[1, 2147483647]: Int32 87 Goto → block 9 Block 15 88 Constant function complex5/< (-e:22) at 104289c63e40 Object 89 GuardShape ← NewArrayDynamicLength#53 Object 90 Constant function reduce (self-hosted:205) at 104289c479c0 Object 91 Lambda ← NewCallObject#8, Constant#88 Object 92 Call ← Constant#90, NewArrayDynamicLength#53, Lambda#91, Constant#59 Value 93 Return ← Call#92
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 Box ← FunctionEnvironment#6 Value 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9 11 Box ← Callee#5 Value 12 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11 13 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 14 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 229 AssertCanElidePostWriteBarrier ← NewCallObject#8, Parameter#1 16 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 17 Unbox Parameter#1 to Object (fallible) Object 18 GuardIsNotProxy ← Unbox#17 Object 19 ObjectKeys ← GuardIsNotProxy#18 Object 20 GuardShape ← ObjectKeys#19 Object 21 Constant function map (self-hosted:163) at 104289c47920 Object 22 Constant function complex5/< (-e:22) at 104289c63e08 Object 23 Lambda ← NewCallObject#8, Constant#22 Object 24 Goto → block 1 Block 1 25 Constant function ToObject at 104289c6c740 Object 26 Constant function ToLength at 104289c6c778 Object 27 Box ← Constant#25 Value 28 DebugCheckSelfHosted ← Box#27 Value 29 Box ← Constant#26 Value 30 DebugCheckSelfHosted ← Box#29 Value 31 GuardShape ← ObjectKeys#19 Object 32 Elements ← GuardShape#31 Elements 33 ArrayLength ← Elements#32 I[0, 2147483647]: Int32 34 Goto → block 2 Block 2 35 Constant function IsCallable at 104289c6c7b0 Object 36 Box ← Constant#35 Value 37 DebugCheckSelfHosted ← Box#36 Value 38 AssertClass ← Lambda#23 39 Goto → block 3 Block 3 40 Goto → block 4 Block 4 41 Box ← Constant#2 Value 42 Goto → block 5 Block 5 43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 44 Box ← Constant#43 Value 45 DebugCheckSelfHosted ← Box#44 Value 46 HasShape ← ObjectKeys#19 Bool 47 Test ← HasShape#46 → block 6, block 7 1 0 Block 6 48 Constant function std_Array at 104289c6c820 Object 49 Box ← Constant#48 Value 50 DebugCheckSelfHosted ← Box#49 Value 51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object 52 GuardSpecificFunction ← Unbox#51, Constant#48 Object 53 NewArrayDynamicLength ← ArrayLength#33 Object 54 Goto → block 8 Block 7 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Bail 58 Unreachable Block 8 59 Constant 0x0 I[0, 0]: Int32 60 GuardShape ← ObjectKeys#19 Object 61 LoadFixedSlot ← NewCallObject#8 (slot 2) Value 62 Unbox LoadFixedSlot#61 to Object (fallible) Object 63 GuardShape ← NewArrayDynamicLength#53 Object 64 Goto → block 9 Block 9 (loop header) 65 Phi ← Constant#59, Add#86 I[0 {}, 2147483647 {[loop] #33-1}]: Int32 66 Constant magic optimized-out MagicOptimizedOut 67 InterruptCheck 68 Compare ← Phi#65, ArrayLength#33 Lt Bool 69 Test ← Compare#68 → block 10, block 15 1 0 Block 10 70 Elements ← GuardShape#60 Elements 71 InitializedLength ← Elements#70 I[0, 268435453]: Int32 72 BoundsCheck ← Phi#65, InitializedLength#71 I[0, 2147483646]: Int32 73 SpectreMaskIndex ← Phi#65, InitializedLength#71 I[0, 2147483646]: Int32 74 GuardElementNotHole ← Elements#70, SpectreMaskIndex#73 75 Goto → block 11 Block 11 76 GuardElementsArePacked ← Elements#70 77 LoadElement ← Elements#70, SpectreMaskIndex#73 Value 78 AssertClass ← Lambda#23 79 Goto → block 12 Block 12 80 MegamorphicLoadSlotByValue ← Unbox#62, LoadElement#77 Value 81 Goto → block 13 Block 13 82 Elements ← GuardShape#63 Elements 83 StoreElementHole ← GuardShape#63, Elements#82, Phi#65, MegamorphicLoadSlotByValue#80 84 Goto → block 14 Block 14 (backedge) 85 Constant 0x1 I[1, 1]: Int32 86 Add ← Phi#65, Constant#85 [int32] I[1, 2147483647]: Int32 87 Goto → block 9 Block 15 88 Constant function complex5/< (-e:22) at 104289c63e40 Object 89 GuardShape ← NewArrayDynamicLength#53 Object 90 Constant function reduce (self-hosted:205) at 104289c479c0 Object 91 Lambda ← NewCallObject#8, Constant#88 Object 92 Call ← Constant#90, NewArrayDynamicLength#53, Lambda#91, Constant#59 Value 93 Return ← Call#92
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 Box ← FunctionEnvironment#6 Value 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9 11 Box ← Callee#5 Value 12 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11 13 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 14 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 229 AssertCanElidePostWriteBarrier ← NewCallObject#8, Parameter#1 16 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 17 Unbox Parameter#1 to Object (fallible) Object 18 GuardIsNotProxy ← Unbox#17 Object 19 ObjectKeys ← GuardIsNotProxy#18 Object 20 GuardShape ← ObjectKeys#19 Object 21 Constant function map (self-hosted:163) at 104289c47920 Object 22 Constant function complex5/< (-e:22) at 104289c63e08 Object 23 Lambda ← NewCallObject#8, Constant#22 Object 24 Goto → block 1 Block 1 25 Constant function ToObject at 104289c6c740 Object 26 Constant function ToLength at 104289c6c778 Object 27 Box ← Constant#25 Value 28 DebugCheckSelfHosted ← Box#27 Value 29 Box ← Constant#26 Value 30 DebugCheckSelfHosted ← Box#29 Value 31 GuardShape ← ObjectKeys#19 Object 32 Elements ← GuardShape#31 Elements 33 ArrayLength ← Elements#32 I[0, 2147483647]: Int32 34 Goto → block 2 Block 2 35 Constant function IsCallable at 104289c6c7b0 Object 36 Box ← Constant#35 Value 37 DebugCheckSelfHosted ← Box#36 Value 38 AssertClass ← Lambda#23 39 Goto → block 3 Block 3 40 Goto → block 4 Block 4 41 Box ← Constant#2 Value 42 Goto → block 5 Block 5 43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 44 Box ← Constant#43 Value 45 DebugCheckSelfHosted ← Box#44 Value 46 HasShape ← ObjectKeys#19 Bool 47 Test ← HasShape#46 → block 6, block 7 1 0 Block 6 48 Constant function std_Array at 104289c6c820 Object 49 Box ← Constant#48 Value 50 DebugCheckSelfHosted ← Box#49 Value 51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object 52 GuardSpecificFunction ← Unbox#51, Constant#48 Object 53 NewArrayDynamicLength ← ArrayLength#33 Object 54 Goto → block 8 Block 7 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Bail 58 Unreachable Block 8 59 Constant 0x0 I[0, 0]: Int32 60 GuardShape ← ObjectKeys#19 Object 230 LoadFixedSlotAndUnbox ← NewCallObject#8 (slot 2) Object 63 GuardShape ← NewArrayDynamicLength#53 Object 64 Goto → block 9 Block 9 (loop header) 65 Phi ← Constant#59, Add#86 I[0 {}, 2147483647 {[loop] #33-1}]: Int32 66 Constant magic optimized-out MagicOptimizedOut 67 InterruptCheck 68 Compare ← Phi#65, ArrayLength#33 Lt Bool 69 Test ← Compare#68 → block 10, block 15 1 0 Block 10 70 Elements ← GuardShape#60 Elements 71 InitializedLength ← Elements#70 I[0, 268435453]: Int32 72 BoundsCheck ← Phi#65, InitializedLength#71 I[0, 2147483646]: Int32 73 SpectreMaskIndex ← Phi#65, InitializedLength#71 I[0, 2147483646]: Int32 74 GuardElementNotHole ← Elements#70, SpectreMaskIndex#73 75 Goto → block 11 Block 11 76 GuardElementsArePacked ← Elements#70 77 LoadElement ← Elements#70, SpectreMaskIndex#73 Value 78 AssertClass ← Lambda#23 79 Goto → block 12 Block 12 80 MegamorphicLoadSlotByValue ← LoadFixedSlotAndUnbox#230, LoadElement#77 Value 81 Goto → block 13 Block 13 82 Elements ← GuardShape#63 Elements 83 StoreElementHole ← GuardShape#63, Elements#82, Phi#65, MegamorphicLoadSlotByValue#80 84 Goto → block 14 Block 14 (backedge) 85 Constant 0x1 I[1, 1]: Int32 86 Add ← Phi#65, Constant#85 [int32] I[1, 2147483647]: Int32 87 Goto → block 9 Block 15 88 Constant function complex5/< (-e:22) at 104289c63e40 Object 89 GuardShape ← NewArrayDynamicLength#53 Object 90 Constant function reduce (self-hosted:205) at 104289c479c0 Object 91 Lambda ← NewCallObject#8, Constant#88 Object 92 Call ← Constant#90, NewArrayDynamicLength#53, Lambda#91, Constant#59 Value 93 Return ← Call#92
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 Box ← FunctionEnvironment#6 Value 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9 11 Box ← Callee#5 Value 12 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11 13 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 14 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 229 AssertCanElidePostWriteBarrier ← NewCallObject#8, Parameter#1 16 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 17 Unbox Parameter#1 to Object (fallible) Object 18 GuardIsNotProxy ← Unbox#17 Object 19 ObjectKeys ← GuardIsNotProxy#18 Object 20 GuardShape ← ObjectKeys#19 Object 21 Constant function map (self-hosted:163) at 104289c47920 Object 22 Constant function complex5/< (-e:22) at 104289c63e08 Object 23 Lambda ← NewCallObject#8, Constant#22 Object 24 Goto → block 1 Block 1 25 Constant function ToObject at 104289c6c740 Object 26 Constant function ToLength at 104289c6c778 Object 27 Box ← Constant#25 Value 28 DebugCheckSelfHosted ← Box#27 Value 29 Box ← Constant#26 Value 30 DebugCheckSelfHosted ← Box#29 Value 31 GuardShape ← ObjectKeys#19 Object 32 Elements ← GuardShape#31 Elements 231 DebugEnterGCUnsafeRegion 33 ArrayLength ← Elements#32 I[0, 2147483647]: Int32 232 DebugLeaveGCUnsafeRegion 34 Goto → block 2 Block 2 35 Constant function IsCallable at 104289c6c7b0 Object 36 Box ← Constant#35 Value 37 DebugCheckSelfHosted ← Box#36 Value 38 AssertClass ← Lambda#23 39 Goto → block 3 Block 3 40 Goto → block 4 Block 4 41 Box ← Constant#2 Value 42 Goto → block 5 Block 5 43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 44 Box ← Constant#43 Value 45 DebugCheckSelfHosted ← Box#44 Value 46 HasShape ← ObjectKeys#19 Bool 47 Test ← HasShape#46 → block 6, block 7 1 0 Block 6 48 Constant function std_Array at 104289c6c820 Object 49 Box ← Constant#48 Value 50 DebugCheckSelfHosted ← Box#49 Value 51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object 52 GuardSpecificFunction ← Unbox#51, Constant#48 Object 53 NewArrayDynamicLength ← ArrayLength#33 Object 54 Goto → block 8 Block 7 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Bail 58 Unreachable Block 8 59 Constant 0x0 I[0, 0]: Int32 60 GuardShape ← ObjectKeys#19 Object 230 LoadFixedSlotAndUnbox ← NewCallObject#8 (slot 2) Object 63 GuardShape ← NewArrayDynamicLength#53 Object 64 Goto → block 9 Block 9 (loop header) 65 Phi ← Constant#59, Add#86 I[0 {}, 2147483647 {[loop] #33-1}]: Int32 66 Constant magic optimized-out MagicOptimizedOut 67 InterruptCheck 68 Compare ← Phi#65, ArrayLength#33 Lt Bool 69 Test ← Compare#68 → block 10, block 15 1 0 Block 10 70 Elements ← GuardShape#60 Elements 237 DebugEnterGCUnsafeRegion 235 DebugEnterGCUnsafeRegion 71 InitializedLength ← Elements#70 I[0, 268435453]: Int32 238 DebugLeaveGCUnsafeRegion 72 BoundsCheck ← Phi#65, InitializedLength#71 I[0, 2147483646]: Int32 73 SpectreMaskIndex ← Phi#65, InitializedLength#71 I[0, 2147483646]: Int32 74 GuardElementNotHole ← Elements#70, SpectreMaskIndex#73 236 DebugLeaveGCUnsafeRegion 75 Goto → block 11 Block 11 76 GuardElementsArePacked ← Elements#70 234 KeepAliveObject ← GuardShape#60 77 LoadElement ← Elements#70, SpectreMaskIndex#73 Value 233 KeepAliveObject ← GuardShape#60 78 AssertClass ← Lambda#23 79 Goto → block 12 Block 12 80 MegamorphicLoadSlotByValue ← LoadFixedSlotAndUnbox#230, LoadElement#77 Value 81 Goto → block 13 Block 13 82 Elements ← GuardShape#63 Elements 83 StoreElementHole ← GuardShape#63, Elements#82, Phi#65, MegamorphicLoadSlotByValue#80 84 Goto → block 14 Block 14 (backedge) 85 Constant 0x1 I[1, 1]: Int32 86 Add ← Phi#65, Constant#85 [int32] I[1, 2147483647]: Int32 87 Goto → block 9 Block 15 88 Constant function complex5/< (-e:22) at 104289c63e40 Object 89 GuardShape ← NewArrayDynamicLength#53 Object 90 Constant function reduce (self-hosted:205) at 104289c479c0 Object 91 Lambda ← NewCallObject#8, Constant#88 Object 92 Call ← Constant#90, NewArrayDynamicLength#53, Lambda#91, Constant#59 Value 93 Return ← Call#92
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 Box ← FunctionEnvironment#6 Value 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9 11 Box ← Callee#5 Value 12 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11 13 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 14 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 229 AssertCanElidePostWriteBarrier ← NewCallObject#8, Parameter#1 16 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 17 Unbox Parameter#1 to Object (fallible) Object 18 GuardIsNotProxy ← Unbox#17 Object 19 ObjectKeys ← GuardIsNotProxy#18 Object 20 GuardShape ← ObjectKeys#19 Object 21 Constant function map (self-hosted:163) at 104289c47920 Object 22 Constant function complex5/< (-e:22) at 104289c63e08 Object 23 Lambda ← NewCallObject#8, Constant#22 Object 24 Goto → block 1 Block 1 25 Constant function ToObject at 104289c6c740 Object 26 Constant function ToLength at 104289c6c778 Object 27 Box ← Constant#25 Value 28 DebugCheckSelfHosted ← Box#27 Value 29 Box ← Constant#26 Value 30 DebugCheckSelfHosted ← Box#29 Value 31 GuardShape ← ObjectKeys#19 Object 32 Elements ← GuardShape#31 Elements 231 DebugEnterGCUnsafeRegion 33 ArrayLength ← Elements#32 I[0, 2147483647]: Int32 232 DebugLeaveGCUnsafeRegion 34 Goto → block 2 Block 2 35 Constant function IsCallable at 104289c6c7b0 Object 36 Box ← Constant#35 Value 37 DebugCheckSelfHosted ← Box#36 Value 38 AssertClass ← Lambda#23 39 Goto → block 3 Block 3 40 Goto → block 4 Block 4 41 Box ← Constant#2 Value 42 Goto → block 5 Block 5 43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 44 Box ← Constant#43 Value 45 DebugCheckSelfHosted ← Box#44 Value 46 HasShape ← ObjectKeys#19 Bool 47 Test ← HasShape#46 → block 6, block 7 1 0 Block 6 48 Constant function std_Array at 104289c6c820 Object 49 Box ← Constant#48 Value 50 DebugCheckSelfHosted ← Box#49 Value 51 Unbox Box#49 to Object (fallible) Object 52 GuardSpecificFunction ← Unbox#51, Constant#48 Object 53 NewArrayDynamicLength ← ArrayLength#33 Object 54 Goto → block 8 Block 7 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Bail 58 Unreachable Block 8 59 Constant 0x0 I[0, 0]: Int32 60 GuardShape ← ObjectKeys#19 Object 230 LoadFixedSlotAndUnbox ← NewCallObject#8 (slot 2) Object 63 GuardShape ← NewArrayDynamicLength#53 Object 64 Goto → block 9 Block 9 (loop header) 65 Phi ← Constant#59, Add#86 I[0 {}, 2147483647 {[loop] #33-1}]: Int32 66 Constant magic optimized-out MagicOptimizedOut 67 InterruptCheck 68 Compare ← Phi#65, ArrayLength#33 Lt Bool 69 Test ← Compare#68 → block 10, block 15 1 0 Block 10 70 Elements ← GuardShape#60 Elements 237 DebugEnterGCUnsafeRegion 235 DebugEnterGCUnsafeRegion 71 InitializedLength ← Elements#70 I[0, 268435453]: Int32 238 DebugLeaveGCUnsafeRegion 72 BoundsCheck ← Phi#65, InitializedLength#71 I[0, 2147483646]: Int32 73 SpectreMaskIndex ← Phi#65, InitializedLength#71 I[0, 2147483646]: Int32 74 GuardElementNotHole ← Elements#70, SpectreMaskIndex#73 236 DebugLeaveGCUnsafeRegion 75 Goto → block 11 Block 11 76 GuardElementsArePacked ← Elements#70 234 KeepAliveObject ← GuardShape#60 77 LoadElement ← Elements#70, SpectreMaskIndex#73 Value 233 KeepAliveObject ← GuardShape#60 78 AssertClass ← Lambda#23 79 Goto → block 12 Block 12 80 MegamorphicLoadSlotByValue ← LoadFixedSlotAndUnbox#230, LoadElement#77 Value 81 Goto → block 13 Block 13 82 Elements ← GuardShape#63 Elements 83 StoreElementHole ← GuardShape#63, Elements#82, Phi#65, MegamorphicLoadSlotByValue#80 84 Goto → block 14 Block 14 (backedge) 85 Constant 0x1 I[1, 1]: Int32 86 Add ← Phi#65, Constant#85 [int32] I[1, 2147483647]: Int32 87 Goto → block 9 Block 15 88 Constant function complex5/< (-e:22) at 104289c63e40 Object 89 GuardShape ← NewArrayDynamicLength#53 Object 90 Constant function reduce (self-hosted:205) at 104289c479c0 Object 91 Lambda ← NewCallObject#8, Constant#88 Object 92 Call ← Constant#90, NewArrayDynamicLength#53, Lambda#91, Constant#59 Value 93 Return ← Call#92
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Constant object 104289c3f078 (Call) Object 8 NewCallObject ← Constant#7 Object 9 Box ← FunctionEnvironment#6 Value 10 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9 11 Box ← Callee#5 Value 12 AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11 13 StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0) 14 StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1) 229 AssertCanElidePostWriteBarrier ← NewCallObject#8, Parameter#1 16 StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2) 17 Unbox Parameter#1 to Object (fallible) Object 18 GuardIsNotProxy ← Unbox#17 Object 19 ObjectKeys ← GuardIsNotProxy#18 Object 20 GuardShape ← ObjectKeys#19 Object 21 Constant function map (self-hosted:163) at 104289c47920 Object 22 Constant function complex5/< (-e:22) at 104289c63e08 Object 23 Lambda ← NewCallObject#8, Constant#22 Object 24 Goto → block 1 Block 1 25 Constant function ToObject at 104289c6c740 Object 26 Constant function ToLength at 104289c6c778 Object 27 Box ← Constant#25 Value 28 DebugCheckSelfHosted ← Box#27 Value 29 Box ← Constant#26 Value 30 DebugCheckSelfHosted ← Box#29 Value 31 GuardShape ← ObjectKeys#19 Object 32 Elements ← GuardShape#31 Elements 231 DebugEnterGCUnsafeRegion 33 ArrayLength ← Elements#32 I[0, 2147483647]: Int32 232 DebugLeaveGCUnsafeRegion 34 Goto → block 2 Block 2 35 Constant function IsCallable at 104289c6c7b0 Object 36 Box ← Constant#35 Value 37 DebugCheckSelfHosted ← Box#36 Value 38 AssertClass ← Lambda#23 39 Goto → block 3 Block 3 40 Goto → block 4 Block 4 41 Box ← Constant#2 Value 42 Goto → block 5 Block 5 43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 44 Box ← Constant#43 Value 45 DebugCheckSelfHosted ← Box#44 Value 46 HasShape ← ObjectKeys#19 Bool 47 Test ← HasShape#46 → block 6, block 7 1 0 Block 6 48 Constant function std_Array at 104289c6c820 Object 49 Box ← Constant#48 Value 50 DebugCheckSelfHosted ← Box#49 Value 51 Unbox Box#49 to Object (fallible) Object 52 GuardSpecificFunction ← Unbox#51, Constant#48 Object 53 NewArrayDynamicLength ← ArrayLength#33 Object 54 Goto → block 8 Block 7 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Bail 58 Unreachable Block 8 59 Constant 0x0 I[0, 0]: Int32 60 GuardShape ← ObjectKeys#19 Object 230 LoadFixedSlotAndUnbox ← NewCallObject#8 (slot 2) Object 63 GuardShape ← NewArrayDynamicLength#53 Object 64 Goto → block 9 Block 9 (loop header) 65 Phi ← Constant#59, Add#86 I[0 {}, 2147483647 {[loop] #33-1}]: Int32 66 Constant magic optimized-out MagicOptimizedOut 67 InterruptCheck 68 Compare ← Phi#65, ArrayLength#33 Lt Bool 69 Test ← Compare#68 → block 10, block 15 1 0 Block 10 70 Elements ← GuardShape#60 Elements 237 DebugEnterGCUnsafeRegion 235 DebugEnterGCUnsafeRegion 71 InitializedLength ← Elements#70 I[0, 268435453]: Int32 238 DebugLeaveGCUnsafeRegion 72 BoundsCheck ← Phi#65, InitializedLength#71 I[0, 2147483646]: Int32 73 SpectreMaskIndex ← Phi#65, InitializedLength#71 I[0, 2147483646]: Int32 74 GuardElementNotHole ← Elements#70, SpectreMaskIndex#73 236 DebugLeaveGCUnsafeRegion 75 Goto → block 11 Block 11 76 GuardElementsArePacked ← Elements#70 234 KeepAliveObject ← GuardShape#60 77 LoadElement ← Elements#70, SpectreMaskIndex#73 Value 233 KeepAliveObject ← GuardShape#60 78 AssertClass ← Lambda#23 79 Goto → block 12 Block 12 80 MegamorphicLoadSlotByValue ← LoadFixedSlotAndUnbox#230, LoadElement#77 Value 81 Goto → block 13 Block 13 82 Elements ← GuardShape#63 Elements 83 StoreElementHole ← GuardShape#63, Elements#82, Phi#65, MegamorphicLoadSlotByValue#80 84 Goto → block 14 Block 14 (backedge) 85 Constant 0x1 I[1, 1]: Int32 86 Add ← Phi#65, Constant#85 [int32] I[1, 2147483647]: Int32 87 Goto → block 9 Block 15 88 Constant function complex5/< (-e:22) at 104289c63e40 Object 89 GuardShape ← NewArrayDynamicLength#53 Object 90 Constant function reduce (self-hosted:205) at 104289c479c0 Object 91 Lambda ← NewCallObject#8, Constant#88 Object 92 Call ← Constant#90, NewArrayDynamicLength#53, Lambda#91, Constant#59 Value 93 Return ← Call#92
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 9 Constant object 104289c3e088 (Array) Object 10 Constant function map (self-hosted:163) at 104289c47920 Object 11 Constant function complex4/< (-e:18) at 104289c63d28 Object 12 Lambda ← FunctionEnvironment#6, Constant#11 Object 13 Constant 0x1 Int32 14 Constant function map (self-hosted:163) at 104289c47920 Object 15 GuardSpecificFunction ← Constant#10, Constant#14 Object 16 Goto → block 1 Block 1 17 Constant undefined Undefined 18 Constant function ToObject at 104289c6c740 Object 19 DebugCheckSelfHosted ← Constant#18 Value 20 Constant undefined Undefined 21 Constant 0x1 Int32 22 Unbox Parameter#1 to Object (fallible) Object 23 Constant function ToLength at 104289c6c778 Object 24 DebugCheckSelfHosted ← Constant#23 Value 25 Constant undefined Undefined 26 GuardShape ← Unbox#22 Object 27 Elements ← GuardShape#26 Elements 28 ArrayLength ← Elements#27 Int32 29 Constant 0x1 Int32 30 Constant 0x0 Int32 31 MinMax ← ArrayLength#28, Constant#30 (max) Int32 32 Constant 0x1 Int32 33 Constant 0x0 Int32 34 Compare ← Constant#32, Constant#33 StrictEq Bool 35 Test ← Compare#34 → block 2, block 3 1 0 Block 2 36 CallGetIntrinsicValue Value 37 DebugCheckSelfHosted ← CallGetIntrinsicValue#36 Value 38 Constant undefined Undefined 39 Constant 0x37 Int32 40 Constant 0x0 Int32 41 Constant string 104289c2e080 String 42 Bail 43 UnreachableResult Value 44 Goto → block 3 Block 3 45 Constant function IsCallable at 104289c6c7b0 Object 46 DebugCheckSelfHosted ← Constant#45 Value 47 Constant undefined Undefined 48 Constant 0x1 Int32 49 IsCallable ← Lambda#12 Bool 50 Test ← IsCallable#49 → block 5, block 4 1 0 Block 4 51 CallGetIntrinsicValue Value 52 DebugCheckSelfHosted ← CallGetIntrinsicValue#51 Value 53 Constant undefined Undefined 54 Constant 0xc Int32 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Constant undefined Undefined 58 Constant 0x0 Int32 59 Bail 60 UnreachableResult Value 61 Bail 62 UnreachableResult Value 63 Goto → block 5 Block 5 64 Constant 0x1 Int32 65 Constant 0x1 Int32 66 Compare ← Constant#64, Constant#65 Gt Bool 67 Test ← Compare#66 → block 6, block 7 1 0 Block 6 68 Constant 0x1 Int32 69 GetInlinedArgument ← Constant#68, Lambda#12 Value 70 Goto → block 8 Block 7 71 Constant undefined Undefined 72 Goto → block 8 Block 8 73 Phi ← Constant#71, GetInlinedArgument#69 Value 74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 75 DebugCheckSelfHosted ← Constant#74 Value 76 Constant undefined Undefined 77 Constant 0x1 Int32 78 HasShape ← Unbox#22 Bool 79 Test ← HasShape#78 → block 9, block 10 1 0 Block 9 80 Constant function std_Array at 104289c6c820 Object 81 DebugCheckSelfHosted ← Constant#80 Value 82 Constant undefined Undefined 83 Constant 0x1 Int32 84 Unbox DebugCheckSelfHosted#81 to Object (fallible) Object 85 Constant function std_Array at 104289c6c820 Object 86 GuardSpecificFunction ← Unbox#84, Constant#85 Object 87 NewArrayDynamicLength ← MinMax#31 Object 88 Goto → block 11 Block 10 89 CallGetIntrinsicValue Value 90 DebugCheckSelfHosted ← CallGetIntrinsicValue#89 Value 91 Constant undefined Undefined 92 Bail 93 UnreachableResult Value 94 Goto → block 11 Block 11 95 Phi ← UnreachableResult#93, NewArrayDynamicLength#87 Value 96 Constant 0x0 Int32 108 Goto → block 12 Block 12 (loop header) 97 Phi ← Constant#17, Constant#17 Value 98 Phi ← Constant#17, Constant#17 Value 99 Phi ← Parameter#1, Parameter#1 Value 100 Phi ← Lambda#12, Lambda#12 Value 101 Phi ← Unbox#22, Unbox#22 Value 102 Phi ← MinMax#31, MinMax#31 Value 103 Phi ← Phi#73, Phi#73 Value 104 Phi ← Phi#95, Phi#95 Value 105 Phi ← Constant#96, Add#153 Value 106 Phi ← Constant#17, Phi#150 Value 107 Phi ← Parameter#1, Parameter#1 Value 109 InterruptCheck 110 Unbox Phi#105 to Int32 (fallible) Int32 111 Unbox Phi#102 to Int32 (fallible) Int32 112 Compare ← Unbox#110, Unbox#111 Lt Bool 113 Test ← Compare#112 → block 13, block 18 1 0 Block 13 114 Unbox Phi#101 to Object (fallible) Object 115 Unbox Phi#105 to Int32 (fallible) Int32 116 GuardShape ← Unbox#114 Object 117 Elements ← GuardShape#116 Elements 118 InitializedLength ← Elements#117 Int32 119 BoundsCheck ← Unbox#115, InitializedLength#118 Int32 120 SpectreMaskIndex ← BoundsCheck#119, InitializedLength#118 Int32 121 GuardElementNotHole ← Elements#117, SpectreMaskIndex#120 122 Constant true Bool 123 Test ← Constant#122 → block 14, block 17 1 0 Block 14 124 Unbox Phi#101 to Object (fallible) Object 125 Unbox Phi#105 to Int32 (fallible) Int32 126 GuardShape ← Unbox#124 Object 127 Elements ← GuardShape#126 Elements 128 InitializedLength ← Elements#127 Int32 129 BoundsCheck ← Unbox#125, InitializedLength#128 Int32 130 SpectreMaskIndex ← BoundsCheck#129, InitializedLength#128 Int32 131 GuardElementsArePacked ← Elements#127 132 LoadElement ← Elements#127, SpectreMaskIndex#130 Value 133 Constant 0x3 Int32 134 Unbox Phi#100 to Object (fallible) Object 135 GuardToFunction ← Unbox#134 Object 136 GuardFunctionScript ← GuardToFunction#135 Object 137 Goto → block 15 Block 15 138 Constant undefined Undefined 139 Constant 0x2 Int32 140 Unbox LoadElement#132 to Double (fallible) Double 141 Mul ← Unbox#140, Constant#139 [double] Double 143 Goto → block 16 Block 16 144 Unbox Phi#104 to Object (fallible) Object 145 Unbox Phi#105 to Int32 (fallible) Int32 146 GuardShape ← Unbox#144 Object 147 Elements ← GuardShape#146 Elements 148 StoreElementHole ← GuardShape#146, Elements#147, Unbox#145, Mul#141 149 Goto → block 17 Block 17 (backedge) 150 Phi ← Mul#141, Phi#106 Value 151 Unbox Phi#105 to Int32 (fallible) Int32 152 Constant 0x1 Int32 153 Add ← Unbox#151, Constant#152 [int32] Int32 154 Goto → block 12 Block 18 156 Goto → block 19 Block 19 157 Unbox Phi#104 to Object (fallible) Object 158 GuardShape ← Unbox#157 Object 159 Constant object 104289c3e088 (Array) Object 160 Constant function filter (self-hosted:183) at 104289c47970 Object 161 Constant function complex4/< (-e:18) at 104289c63d60 Object 162 Lambda ← FunctionEnvironment#6, Constant#161 Object 163 Constant 0x1 Int32 164 Constant function filter (self-hosted:183) at 104289c47970 Object 165 GuardSpecificFunction ← Constant#160, Constant#164 Object 166 Goto → block 20 Block 20 167 Constant undefined Undefined 168 Constant function ToObject at 104289c6c740 Object 169 DebugCheckSelfHosted ← Constant#168 Value 170 Constant undefined Undefined 171 Constant 0x1 Int32 172 Unbox Phi#104 to Object (fallible) Object 173 Constant function ToLength at 104289c6c778 Object 174 DebugCheckSelfHosted ← Constant#173 Value 175 Constant undefined Undefined 176 GuardShape ← Unbox#172 Object 177 Elements ← GuardShape#176 Elements 178 ArrayLength ← Elements#177 Int32 179 Constant 0x1 Int32 180 Constant 0x0 Int32 181 MinMax ← ArrayLength#178, Constant#180 (max) Int32 182 Constant 0x1 Int32 183 Constant 0x0 Int32 184 Compare ← Constant#182, Constant#183 StrictEq Bool 185 Test ← Compare#184 → block 21, block 22 1 0 Block 21 186 CallGetIntrinsicValue Value 187 DebugCheckSelfHosted ← CallGetIntrinsicValue#186 Value 188 Constant undefined Undefined 189 Constant 0x37 Int32 190 Constant 0x0 Int32 191 Constant string 104289c28540 String 192 Bail 193 UnreachableResult Value 194 Goto → block 22 Block 22 195 Constant function IsCallable at 104289c6c7b0 Object 196 DebugCheckSelfHosted ← Constant#195 Value 197 Constant undefined Undefined 198 Constant 0x1 Int32 199 IsCallable ← Lambda#162 Bool 200 Test ← IsCallable#199 → block 24, block 23 1 0 Block 23 201 CallGetIntrinsicValue Value 202 DebugCheckSelfHosted ← CallGetIntrinsicValue#201 Value 203 Constant undefined Undefined 204 Constant 0xc Int32 205 CallGetIntrinsicValue Value 206 DebugCheckSelfHosted ← CallGetIntrinsicValue#205 Value 207 Constant undefined Undefined 208 Constant 0x0 Int32 209 Bail 210 UnreachableResult Value 211 Bail 212 UnreachableResult Value 213 Goto → block 24 Block 24 214 Constant 0x1 Int32 215 Constant 0x1 Int32 216 Compare ← Constant#214, Constant#215 Gt Bool 217 Test ← Compare#216 → block 25, block 26 1 0 Block 25 218 Constant 0x1 Int32 219 GetInlinedArgument ← Constant#218, Lambda#162 Value 220 Goto → block 27 Block 26 221 Constant undefined Undefined 222 Goto → block 27 Block 27 223 Phi ← Constant#221, GetInlinedArgument#219 Value 224 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 225 DebugCheckSelfHosted ← Constant#224 Value 226 Constant undefined Undefined 227 Constant 0x1 Int32 228 HasShape ← Unbox#172 Bool 229 Test ← HasShape#228 → block 28, block 29 1 0 Block 28 230 Constant shape at 104289c64f00 Shape 231 NewArrayObject ← Constant#230 Object 232 Goto → block 30 Block 29 233 CallGetIntrinsicValue Value 234 DebugCheckSelfHosted ← CallGetIntrinsicValue#233 Value 235 Constant undefined Undefined 236 Constant 0x0 Int32 237 Bail 238 UnreachableResult Value 239 Goto → block 30 Block 30 240 Phi ← UnreachableResult#238, NewArrayObject#231 Value 241 Constant 0x0 Int32 242 Constant 0x0 Int32 255 Goto → block 31 Block 31 (loop header) 243 Phi ← Constant#167, Constant#167 Value 244 Phi ← Constant#167, Constant#167 Value 245 Phi ← Phi#104, Phi#104 Value 246 Phi ← Lambda#162, Lambda#162 Value 247 Phi ← Unbox#172, Unbox#172 Value 248 Phi ← MinMax#181, MinMax#181 Value 249 Phi ← Phi#223, Phi#223 Value 250 Phi ← Phi#240, Phi#240 Value 251 Phi ← Constant#241, Add#304 Value 252 Phi ← Constant#242, Phi#300 Value 253 Phi ← Constant#167, Phi#301 Value 254 Phi ← Phi#104, Phi#104 Value 256 InterruptCheck 257 Unbox Phi#251 to Int32 (fallible) Int32 258 Unbox Phi#248 to Int32 (fallible) Int32 259 Compare ← Unbox#257, Unbox#258 Lt Bool 260 Test ← Compare#259 → block 32, block 38 1 0 Block 32 261 Unbox Phi#247 to Object (fallible) Object 262 Unbox Phi#251 to Int32 (fallible) Int32 263 GuardShape ← Unbox#261 Object 264 Elements ← GuardShape#263 Elements 265 InitializedLength ← Elements#264 Int32 266 BoundsCheck ← Unbox#262, InitializedLength#265 Int32 267 SpectreMaskIndex ← BoundsCheck#266, InitializedLength#265 Int32 268 GuardElementNotHole ← Elements#264, SpectreMaskIndex#267 269 Constant true Bool 270 Test ← Constant#269 → block 33, block 37 1 0 Block 33 271 Unbox Phi#247 to Object (fallible) Object 272 Unbox Phi#251 to Int32 (fallible) Int32 273 GuardShape ← Unbox#271 Object 274 Elements ← GuardShape#273 Elements 275 InitializedLength ← Elements#274 Int32 276 BoundsCheck ← Unbox#272, InitializedLength#275 Int32 277 SpectreMaskIndex ← BoundsCheck#276, InitializedLength#275 Int32 278 GuardElementsArePacked ← Elements#274 279 LoadElement ← Elements#274, SpectreMaskIndex#277 Value 280 Constant 0x3 Int32 281 Unbox Phi#246 to Object (fallible) Object 282 GuardToFunction ← Unbox#281 Object 283 GuardFunctionScript ← GuardToFunction#282 Object 284 Goto → block 34 Block 34 285 Constant undefined Undefined 286 Constant 0x32 Int32 287 Unbox LoadElement#279 to Double (fallible) Double 288 Compare ← Unbox#287, Constant#286 Gt Bool 290 Goto → block 35 Block 35 291 Test ← Compare#288 → block 36, block 37 1 0 Block 36 292 Unbox Phi#252 to Int32 (fallible) Int32 293 Constant 0x1 Int32 294 Add ← Unbox#292, Constant#293 [int32] Int32 295 Unbox Phi#250 to Object (fallible) Object 296 GuardShape ← Unbox#295 Object 297 Elements ← GuardShape#296 Elements 298 StoreElementHole ← GuardShape#296, Elements#297, Unbox#292, LoadElement#279 299 Goto → block 37 Block 37 (backedge) 300 Phi ← Add#294, Phi#252, Phi#252 Value 301 Phi ← LoadElement#279, Phi#253, LoadElement#279 Value 302 Unbox Phi#251 to Int32 (fallible) Int32 303 Constant 0x1 Int32 304 Add ← Unbox#302, Constant#303 [int32] Int32 305 Goto → block 31 Block 38 307 Goto → block 39 Block 39 308 Unbox Phi#250 to Object (fallible) Object 309 GuardShape ← Unbox#308 Object 310 Constant object 104289c3e088 (Array) Object 311 Constant function reduce (self-hosted:205) at 104289c479c0 Object 312 Constant function complex4/< (-e:18) at 104289c63d98 Object 313 Lambda ← FunctionEnvironment#6, Constant#312 Object 314 Constant 0x0 Int32 315 Constant 0x2 Int32 316 Constant function reduce (self-hosted:205) at 104289c479c0 Object 317 GuardSpecificFunction ← Constant#311, Constant#316 Object 318 Call ← GuardSpecificFunction#317, Phi#250, Lambda#313, Constant#314 Value 319 Return ← Call#318
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 9 Constant object 104289c3e088 (Array) Object 10 Constant function map (self-hosted:163) at 104289c47920 Object 11 Constant function complex4/< (-e:18) at 104289c63d28 Object 12 Lambda ← FunctionEnvironment#6, Constant#11 Object 13 Constant 0x1 Int32 14 Constant function map (self-hosted:163) at 104289c47920 Object 15 GuardSpecificFunction ← Constant#10, Constant#14 Object 16 Goto → block 1 Block 1 17 Constant undefined Undefined 18 Constant function ToObject at 104289c6c740 Object 19 DebugCheckSelfHosted ← Constant#18 Value 20 Constant undefined Undefined 21 Constant 0x1 Int32 22 Unbox Parameter#1 to Object (fallible) Object 23 Constant function ToLength at 104289c6c778 Object 24 DebugCheckSelfHosted ← Constant#23 Value 25 Constant undefined Undefined 26 GuardShape ← Unbox#22 Object 27 Elements ← GuardShape#26 Elements 28 ArrayLength ← Elements#27 Int32 29 Constant 0x1 Int32 30 Constant 0x0 Int32 31 MinMax ← ArrayLength#28, Constant#30 (max) Int32 32 Constant 0x1 Int32 33 Constant 0x0 Int32 34 Compare ← Constant#32, Constant#33 StrictEq Bool 35 Test ← Compare#34 → block 2, block 3 1 0 Block 2 36 CallGetIntrinsicValue Value 37 DebugCheckSelfHosted ← CallGetIntrinsicValue#36 Value 38 Constant undefined Undefined 39 Constant 0x37 Int32 40 Constant 0x0 Int32 41 Constant string 104289c2e080 String 42 Bail 325 Unreachable Block 3 45 Constant function IsCallable at 104289c6c7b0 Object 46 DebugCheckSelfHosted ← Constant#45 Value 47 Constant undefined Undefined 48 Constant 0x1 Int32 49 IsCallable ← Lambda#12 Bool 50 Test ← IsCallable#49 → block 5, block 4 1 0 Block 4 51 CallGetIntrinsicValue Value 52 DebugCheckSelfHosted ← CallGetIntrinsicValue#51 Value 53 Constant undefined Undefined 54 Constant 0xc Int32 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Constant undefined Undefined 58 Constant 0x0 Int32 59 Bail 324 Unreachable Block 5 64 Constant 0x1 Int32 65 Constant 0x1 Int32 66 Compare ← Constant#64, Constant#65 Gt Bool 67 Test ← Compare#66 → block 6, block 7 1 0 Block 6 68 Constant 0x1 Int32 69 GetInlinedArgument ← Constant#68, Lambda#12 Value 70 Goto → block 8 Block 7 71 Constant undefined Undefined 72 Goto → block 8 Block 8 73 Phi ← Constant#71, GetInlinedArgument#69 Value 74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 75 DebugCheckSelfHosted ← Constant#74 Value 76 Constant undefined Undefined 77 Constant 0x1 Int32 78 HasShape ← Unbox#22 Bool 79 Test ← HasShape#78 → block 9, block 10 1 0 Block 9 80 Constant function std_Array at 104289c6c820 Object 81 DebugCheckSelfHosted ← Constant#80 Value 82 Constant undefined Undefined 83 Constant 0x1 Int32 84 Unbox DebugCheckSelfHosted#81 to Object (fallible) Object 85 Constant function std_Array at 104289c6c820 Object 86 GuardSpecificFunction ← Unbox#84, Constant#85 Object 87 NewArrayDynamicLength ← MinMax#31 Object 88 Goto → block 11 Block 10 89 CallGetIntrinsicValue Value 90 DebugCheckSelfHosted ← CallGetIntrinsicValue#89 Value 91 Constant undefined Undefined 92 Bail 323 Unreachable Block 11 95 Phi ← NewArrayDynamicLength#87 Value 96 Constant 0x0 Int32 108 Goto → block 12 Block 12 (loop header) 97 Phi ← Constant#17, Constant#17 Value 98 Phi ← Constant#17, Constant#17 Value 99 Phi ← Parameter#1, Parameter#1 Value 100 Phi ← Lambda#12, Lambda#12 Value 101 Phi ← Unbox#22, Unbox#22 Value 102 Phi ← MinMax#31, MinMax#31 Value 103 Phi ← Phi#73, Phi#73 Value 104 Phi ← Phi#95, Phi#95 Value 105 Phi ← Constant#96, Add#153 Value 106 Phi ← Constant#17, Phi#150 Value 107 Phi ← Parameter#1, Parameter#1 Value 109 InterruptCheck 110 Unbox Phi#105 to Int32 (fallible) Int32 111 Unbox Phi#102 to Int32 (fallible) Int32 112 Compare ← Unbox#110, Unbox#111 Lt Bool 113 Test ← Compare#112 → block 13, block 18 1 0 Block 13 114 Unbox Phi#101 to Object (fallible) Object 115 Unbox Phi#105 to Int32 (fallible) Int32 116 GuardShape ← Unbox#114 Object 117 Elements ← GuardShape#116 Elements 118 InitializedLength ← Elements#117 Int32 119 BoundsCheck ← Unbox#115, InitializedLength#118 Int32 120 SpectreMaskIndex ← BoundsCheck#119, InitializedLength#118 Int32 121 GuardElementNotHole ← Elements#117, SpectreMaskIndex#120 122 Constant true Bool 123 Test ← Constant#122 → block 14, block 17 1 0 Block 14 124 Unbox Phi#101 to Object (fallible) Object 125 Unbox Phi#105 to Int32 (fallible) Int32 126 GuardShape ← Unbox#124 Object 127 Elements ← GuardShape#126 Elements 128 InitializedLength ← Elements#127 Int32 129 BoundsCheck ← Unbox#125, InitializedLength#128 Int32 130 SpectreMaskIndex ← BoundsCheck#129, InitializedLength#128 Int32 131 GuardElementsArePacked ← Elements#127 132 LoadElement ← Elements#127, SpectreMaskIndex#130 Value 133 Constant 0x3 Int32 134 Unbox Phi#100 to Object (fallible) Object 135 GuardToFunction ← Unbox#134 Object 136 GuardFunctionScript ← GuardToFunction#135 Object 137 Goto → block 15 Block 15 138 Constant undefined Undefined 139 Constant 0x2 Int32 140 Unbox LoadElement#132 to Double (fallible) Double 141 Mul ← Unbox#140, Constant#139 [double] Double 143 Goto → block 16 Block 16 144 Unbox Phi#104 to Object (fallible) Object 145 Unbox Phi#105 to Int32 (fallible) Int32 146 GuardShape ← Unbox#144 Object 147 Elements ← GuardShape#146 Elements 148 StoreElementHole ← GuardShape#146, Elements#147, Unbox#145, Mul#141 149 Goto → block 17 Block 17 (backedge) 150 Phi ← Mul#141, Phi#106 Value 151 Unbox Phi#105 to Int32 (fallible) Int32 152 Constant 0x1 Int32 153 Add ← Unbox#151, Constant#152 [int32] Int32 154 Goto → block 12 Block 18 156 Goto → block 19 Block 19 157 Unbox Phi#104 to Object (fallible) Object 158 GuardShape ← Unbox#157 Object 159 Constant object 104289c3e088 (Array) Object 160 Constant function filter (self-hosted:183) at 104289c47970 Object 161 Constant function complex4/< (-e:18) at 104289c63d60 Object 162 Lambda ← FunctionEnvironment#6, Constant#161 Object 163 Constant 0x1 Int32 164 Constant function filter (self-hosted:183) at 104289c47970 Object 165 GuardSpecificFunction ← Constant#160, Constant#164 Object 166 Goto → block 20 Block 20 167 Constant undefined Undefined 168 Constant function ToObject at 104289c6c740 Object 169 DebugCheckSelfHosted ← Constant#168 Value 170 Constant undefined Undefined 171 Constant 0x1 Int32 172 Unbox Phi#104 to Object (fallible) Object 173 Constant function ToLength at 104289c6c778 Object 174 DebugCheckSelfHosted ← Constant#173 Value 175 Constant undefined Undefined 176 GuardShape ← Unbox#172 Object 177 Elements ← GuardShape#176 Elements 178 ArrayLength ← Elements#177 Int32 179 Constant 0x1 Int32 180 Constant 0x0 Int32 181 MinMax ← ArrayLength#178, Constant#180 (max) Int32 182 Constant 0x1 Int32 183 Constant 0x0 Int32 184 Compare ← Constant#182, Constant#183 StrictEq Bool 185 Test ← Compare#184 → block 21, block 22 1 0 Block 21 186 CallGetIntrinsicValue Value 187 DebugCheckSelfHosted ← CallGetIntrinsicValue#186 Value 188 Constant undefined Undefined 189 Constant 0x37 Int32 190 Constant 0x0 Int32 191 Constant string 104289c28540 String 192 Bail 322 Unreachable Block 22 195 Constant function IsCallable at 104289c6c7b0 Object 196 DebugCheckSelfHosted ← Constant#195 Value 197 Constant undefined Undefined 198 Constant 0x1 Int32 199 IsCallable ← Lambda#162 Bool 200 Test ← IsCallable#199 → block 24, block 23 1 0 Block 23 201 CallGetIntrinsicValue Value 202 DebugCheckSelfHosted ← CallGetIntrinsicValue#201 Value 203 Constant undefined Undefined 204 Constant 0xc Int32 205 CallGetIntrinsicValue Value 206 DebugCheckSelfHosted ← CallGetIntrinsicValue#205 Value 207 Constant undefined Undefined 208 Constant 0x0 Int32 209 Bail 321 Unreachable Block 24 214 Constant 0x1 Int32 215 Constant 0x1 Int32 216 Compare ← Constant#214, Constant#215 Gt Bool 217 Test ← Compare#216 → block 25, block 26 1 0 Block 25 218 Constant 0x1 Int32 219 GetInlinedArgument ← Constant#218, Lambda#162 Value 220 Goto → block 27 Block 26 221 Constant undefined Undefined 222 Goto → block 27 Block 27 223 Phi ← Constant#221, GetInlinedArgument#219 Value 224 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 225 DebugCheckSelfHosted ← Constant#224 Value 226 Constant undefined Undefined 227 Constant 0x1 Int32 228 HasShape ← Unbox#172 Bool 229 Test ← HasShape#228 → block 28, block 29 1 0 Block 28 230 Constant shape at 104289c64f00 Shape 231 NewArrayObject ← Constant#230 Object 232 Goto → block 30 Block 29 233 CallGetIntrinsicValue Value 234 DebugCheckSelfHosted ← CallGetIntrinsicValue#233 Value 235 Constant undefined Undefined 236 Constant 0x0 Int32 237 Bail 320 Unreachable Block 30 240 Phi ← NewArrayObject#231 Value 241 Constant 0x0 Int32 242 Constant 0x0 Int32 255 Goto → block 31 Block 31 (loop header) 243 Phi ← Constant#167, Constant#167 Value 244 Phi ← Constant#167, Constant#167 Value 245 Phi ← Phi#104, Phi#104 Value 246 Phi ← Lambda#162, Lambda#162 Value 247 Phi ← Unbox#172, Unbox#172 Value 248 Phi ← MinMax#181, MinMax#181 Value 249 Phi ← Phi#223, Phi#223 Value 250 Phi ← Phi#240, Phi#240 Value 251 Phi ← Constant#241, Add#304 Value 252 Phi ← Constant#242, Phi#300 Value 253 Phi ← Constant#167, Phi#301 Value 254 Phi ← Phi#104, Phi#104 Value 256 InterruptCheck 257 Unbox Phi#251 to Int32 (fallible) Int32 258 Unbox Phi#248 to Int32 (fallible) Int32 259 Compare ← Unbox#257, Unbox#258 Lt Bool 260 Test ← Compare#259 → block 32, block 38 1 0 Block 32 261 Unbox Phi#247 to Object (fallible) Object 262 Unbox Phi#251 to Int32 (fallible) Int32 263 GuardShape ← Unbox#261 Object 264 Elements ← GuardShape#263 Elements 265 InitializedLength ← Elements#264 Int32 266 BoundsCheck ← Unbox#262, InitializedLength#265 Int32 267 SpectreMaskIndex ← BoundsCheck#266, InitializedLength#265 Int32 268 GuardElementNotHole ← Elements#264, SpectreMaskIndex#267 269 Constant true Bool 270 Test ← Constant#269 → block 33, block 37 1 0 Block 33 271 Unbox Phi#247 to Object (fallible) Object 272 Unbox Phi#251 to Int32 (fallible) Int32 273 GuardShape ← Unbox#271 Object 274 Elements ← GuardShape#273 Elements 275 InitializedLength ← Elements#274 Int32 276 BoundsCheck ← Unbox#272, InitializedLength#275 Int32 277 SpectreMaskIndex ← BoundsCheck#276, InitializedLength#275 Int32 278 GuardElementsArePacked ← Elements#274 279 LoadElement ← Elements#274, SpectreMaskIndex#277 Value 280 Constant 0x3 Int32 281 Unbox Phi#246 to Object (fallible) Object 282 GuardToFunction ← Unbox#281 Object 283 GuardFunctionScript ← GuardToFunction#282 Object 284 Goto → block 34 Block 34 285 Constant undefined Undefined 286 Constant 0x32 Int32 287 Unbox LoadElement#279 to Double (fallible) Double 288 Compare ← Unbox#287, Constant#286 Gt Bool 290 Goto → block 35 Block 35 291 Test ← Compare#288 → block 36, block 37 1 0 Block 36 292 Unbox Phi#252 to Int32 (fallible) Int32 293 Constant 0x1 Int32 294 Add ← Unbox#292, Constant#293 [int32] Int32 295 Unbox Phi#250 to Object (fallible) Object 296 GuardShape ← Unbox#295 Object 297 Elements ← GuardShape#296 Elements 298 StoreElementHole ← GuardShape#296, Elements#297, Unbox#292, LoadElement#279 299 Goto → block 37 Block 37 (backedge) 300 Phi ← Add#294, Phi#252, Phi#252 Value 301 Phi ← LoadElement#279, Phi#253, LoadElement#279 Value 302 Unbox Phi#251 to Int32 (fallible) Int32 303 Constant 0x1 Int32 304 Add ← Unbox#302, Constant#303 [int32] Int32 305 Goto → block 31 Block 38 307 Goto → block 39 Block 39 308 Unbox Phi#250 to Object (fallible) Object 309 GuardShape ← Unbox#308 Object 310 Constant object 104289c3e088 (Array) Object 311 Constant function reduce (self-hosted:205) at 104289c479c0 Object 312 Constant function complex4/< (-e:18) at 104289c63d98 Object 313 Lambda ← FunctionEnvironment#6, Constant#312 Object 314 Constant 0x0 Int32 315 Constant 0x2 Int32 316 Constant function reduce (self-hosted:205) at 104289c479c0 Object 317 GuardSpecificFunction ← Constant#311, Constant#316 Object 318 Call ← GuardSpecificFunction#317, Phi#250, Lambda#313, Constant#314 Value 319 Return ← Call#318
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 9 Constant object 104289c3e088 (Array) Object 10 Constant function map (self-hosted:163) at 104289c47920 Object 11 Constant function complex4/< (-e:18) at 104289c63d28 Object 12 Lambda ← FunctionEnvironment#6, Constant#11 Object 13 Constant 0x1 Int32 14 Constant function map (self-hosted:163) at 104289c47920 Object 15 GuardSpecificFunction ← Constant#10, Constant#14 Object 16 Goto → block 1 Block 1 17 Constant undefined Undefined 18 Constant function ToObject at 104289c6c740 Object 19 DebugCheckSelfHosted ← Constant#18 Value 20 Constant undefined Undefined 21 Constant 0x1 Int32 22 Unbox Parameter#1 to Object (fallible) Object 23 Constant function ToLength at 104289c6c778 Object 24 DebugCheckSelfHosted ← Constant#23 Value 25 Constant undefined Undefined 26 GuardShape ← Unbox#22 Object 27 Elements ← GuardShape#26 Elements 28 ArrayLength ← Elements#27 Int32 29 Constant 0x1 Int32 30 Constant 0x0 Int32 31 MinMax ← ArrayLength#28, Constant#30 (max) Int32 32 Constant 0x1 Int32 33 Constant 0x0 Int32 34 Compare ← Constant#32, Constant#33 StrictEq Bool 35 Test ← Compare#34 → block 2, block 3 1 0 Block 2 36 CallGetIntrinsicValue Value 37 DebugCheckSelfHosted ← CallGetIntrinsicValue#36 Value 38 Constant undefined Undefined 39 Constant 0x37 Int32 40 Constant 0x0 Int32 41 Constant string 104289c2e080 String 42 Bail 325 Unreachable Block 3 45 Constant function IsCallable at 104289c6c7b0 Object 46 DebugCheckSelfHosted ← Constant#45 Value 47 Constant undefined Undefined 48 Constant 0x1 Int32 49 IsCallable ← Lambda#12 Bool 50 Test ← IsCallable#49 → block 5, block 4 1 0 Block 4 51 CallGetIntrinsicValue Value 52 DebugCheckSelfHosted ← CallGetIntrinsicValue#51 Value 53 Constant undefined Undefined 54 Constant 0xc Int32 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Constant undefined Undefined 58 Constant 0x0 Int32 59 Bail 324 Unreachable Block 5 64 Constant 0x1 Int32 65 Constant 0x1 Int32 66 Compare ← Constant#64, Constant#65 Gt Bool 67 Test ← Compare#66 → block 6, block 7 1 0 Block 6 68 Constant 0x1 Int32 69 GetInlinedArgument ← Constant#68, Lambda#12 Value 70 Goto → block 8 Block 7 71 Constant undefined Undefined 72 Goto → block 8 Block 8 73 Phi ← Constant#71, GetInlinedArgument#69 Value 74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 75 DebugCheckSelfHosted ← Constant#74 Value 76 Constant undefined Undefined 77 Constant 0x1 Int32 78 HasShape ← Unbox#22 Bool 79 Test ← HasShape#78 → block 9, block 10 1 0 Block 9 80 Constant function std_Array at 104289c6c820 Object 81 DebugCheckSelfHosted ← Constant#80 Value 82 Constant undefined Undefined 83 Constant 0x1 Int32 84 Unbox DebugCheckSelfHosted#81 to Object (fallible) Object 85 Constant function std_Array at 104289c6c820 Object 86 GuardSpecificFunction ← Unbox#84, Constant#85 Object 87 NewArrayDynamicLength ← MinMax#31 Object 88 Goto → block 11 Block 10 89 CallGetIntrinsicValue Value 90 DebugCheckSelfHosted ← CallGetIntrinsicValue#89 Value 91 Constant undefined Undefined 92 Bail 323 Unreachable Block 11 95 Phi ← NewArrayDynamicLength#87 Value 96 Constant 0x0 Int32 108 Goto → block 12 Block 12 (loop header) 97 Phi ← Constant#17, Constant#17 Value 98 Phi ← Constant#17, Constant#17 Value 99 Phi ← Parameter#1, Parameter#1 Value 100 Phi ← Lambda#12, Lambda#12 Value 101 Phi ← Unbox#22, Unbox#22 Value 102 Phi ← MinMax#31, MinMax#31 Value 103 Phi ← Phi#73, Phi#73 Value 104 Phi ← Phi#95, Phi#95 Value 105 Phi ← Constant#96, Add#153 Value 106 Phi ← Constant#17, Phi#150 Value 107 Phi ← Parameter#1, Parameter#1 Value 109 InterruptCheck 110 Unbox Phi#105 to Int32 (fallible) Int32 111 Unbox Phi#102 to Int32 (fallible) Int32 112 Compare ← Unbox#110, Unbox#111 Lt Bool 113 Test ← Compare#112 → block 13, block 19 1 0 Block 13 114 Unbox Phi#101 to Object (fallible) Object 115 Unbox Phi#105 to Int32 (fallible) Int32 116 GuardShape ← Unbox#114 Object 117 Elements ← GuardShape#116 Elements 118 InitializedLength ← Elements#117 Int32 119 BoundsCheck ← Unbox#115, InitializedLength#118 Int32 120 SpectreMaskIndex ← BoundsCheck#119, InitializedLength#118 Int32 121 GuardElementNotHole ← Elements#117, SpectreMaskIndex#120 122 Constant true Bool 123 Test ← Constant#122 → block 14, block 17 1 0 Block 14 124 Unbox Phi#101 to Object (fallible) Object 125 Unbox Phi#105 to Int32 (fallible) Int32 126 GuardShape ← Unbox#124 Object 127 Elements ← GuardShape#126 Elements 128 InitializedLength ← Elements#127 Int32 129 BoundsCheck ← Unbox#125, InitializedLength#128 Int32 130 SpectreMaskIndex ← BoundsCheck#129, InitializedLength#128 Int32 131 GuardElementsArePacked ← Elements#127 132 LoadElement ← Elements#127, SpectreMaskIndex#130 Value 133 Constant 0x3 Int32 134 Unbox Phi#100 to Object (fallible) Object 135 GuardToFunction ← Unbox#134 Object 136 GuardFunctionScript ← GuardToFunction#135 Object 137 Goto → block 15 Block 15 138 Constant undefined Undefined 139 Constant 0x2 Int32 140 Unbox LoadElement#132 to Double (fallible) Double 141 Mul ← Unbox#140, Constant#139 [double] Double 143 Goto → block 16 Block 16 144 Unbox Phi#104 to Object (fallible) Object 145 Unbox Phi#105 to Int32 (fallible) Int32 146 GuardShape ← Unbox#144 Object 147 Elements ← GuardShape#146 Elements 148 StoreElementHole ← GuardShape#146, Elements#147, Unbox#145, Mul#141 149 Goto → block 17 Block 17 (backedge) 150 Phi ← Mul#141, Phi#106 Value 151 Unbox Phi#105 to Int32 (fallible) Int32 152 Constant 0x1 Int32 153 Add ← Unbox#151, Constant#152 [int32] Int32 154 Goto → block 12 Block 19 157 Unbox Phi#104 to Object (fallible) Object 158 GuardShape ← Unbox#157 Object 159 Constant object 104289c3e088 (Array) Object 160 Constant function filter (self-hosted:183) at 104289c47970 Object 161 Constant function complex4/< (-e:18) at 104289c63d60 Object 162 Lambda ← FunctionEnvironment#6, Constant#161 Object 163 Constant 0x1 Int32 164 Constant function filter (self-hosted:183) at 104289c47970 Object 165 GuardSpecificFunction ← Constant#160, Constant#164 Object 166 Goto → block 20 Block 20 167 Constant undefined Undefined 168 Constant function ToObject at 104289c6c740 Object 169 DebugCheckSelfHosted ← Constant#168 Value 170 Constant undefined Undefined 171 Constant 0x1 Int32 172 Unbox Phi#104 to Object (fallible) Object 173 Constant function ToLength at 104289c6c778 Object 174 DebugCheckSelfHosted ← Constant#173 Value 175 Constant undefined Undefined 176 GuardShape ← Unbox#172 Object 177 Elements ← GuardShape#176 Elements 178 ArrayLength ← Elements#177 Int32 179 Constant 0x1 Int32 180 Constant 0x0 Int32 181 MinMax ← ArrayLength#178, Constant#180 (max) Int32 182 Constant 0x1 Int32 183 Constant 0x0 Int32 184 Compare ← Constant#182, Constant#183 StrictEq Bool 185 Test ← Compare#184 → block 21, block 22 1 0 Block 21 186 CallGetIntrinsicValue Value 187 DebugCheckSelfHosted ← CallGetIntrinsicValue#186 Value 188 Constant undefined Undefined 189 Constant 0x37 Int32 190 Constant 0x0 Int32 191 Constant string 104289c28540 String 192 Bail 322 Unreachable Block 22 195 Constant function IsCallable at 104289c6c7b0 Object 196 DebugCheckSelfHosted ← Constant#195 Value 197 Constant undefined Undefined 198 Constant 0x1 Int32 199 IsCallable ← Lambda#162 Bool 200 Test ← IsCallable#199 → block 24, block 23 1 0 Block 23 201 CallGetIntrinsicValue Value 202 DebugCheckSelfHosted ← CallGetIntrinsicValue#201 Value 203 Constant undefined Undefined 204 Constant 0xc Int32 205 CallGetIntrinsicValue Value 206 DebugCheckSelfHosted ← CallGetIntrinsicValue#205 Value 207 Constant undefined Undefined 208 Constant 0x0 Int32 209 Bail 321 Unreachable Block 24 214 Constant 0x1 Int32 215 Constant 0x1 Int32 216 Compare ← Constant#214, Constant#215 Gt Bool 217 Test ← Compare#216 → block 25, block 26 1 0 Block 25 218 Constant 0x1 Int32 219 GetInlinedArgument ← Constant#218, Lambda#162 Value 220 Goto → block 27 Block 26 221 Constant undefined Undefined 222 Goto → block 27 Block 27 223 Phi ← Constant#221, GetInlinedArgument#219 Value 224 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 225 DebugCheckSelfHosted ← Constant#224 Value 226 Constant undefined Undefined 227 Constant 0x1 Int32 228 HasShape ← Unbox#172 Bool 229 Test ← HasShape#228 → block 28, block 29 1 0 Block 28 230 Constant shape at 104289c64f00 Shape 231 NewArrayObject ← Constant#230 Object 232 Goto → block 30 Block 29 233 CallGetIntrinsicValue Value 234 DebugCheckSelfHosted ← CallGetIntrinsicValue#233 Value 235 Constant undefined Undefined 236 Constant 0x0 Int32 237 Bail 320 Unreachable Block 30 240 Phi ← NewArrayObject#231 Value 241 Constant 0x0 Int32 242 Constant 0x0 Int32 255 Goto → block 31 Block 31 (loop header) 243 Phi ← Constant#167, Constant#167 Value 244 Phi ← Constant#167, Constant#167 Value 245 Phi ← Phi#104, Phi#104 Value 246 Phi ← Lambda#162, Lambda#162 Value 247 Phi ← Unbox#172, Unbox#172 Value 248 Phi ← MinMax#181, MinMax#181 Value 249 Phi ← Phi#223, Phi#223 Value 250 Phi ← Phi#240, Phi#240 Value 251 Phi ← Constant#241, Add#304 Value 252 Phi ← Constant#242, Phi#300 Value 253 Phi ← Constant#167, Phi#301 Value 254 Phi ← Phi#104, Phi#104 Value 256 InterruptCheck 257 Unbox Phi#251 to Int32 (fallible) Int32 258 Unbox Phi#248 to Int32 (fallible) Int32 259 Compare ← Unbox#257, Unbox#258 Lt Bool 260 Test ← Compare#259 → block 32, block 39 1 0 Block 32 261 Unbox Phi#247 to Object (fallible) Object 262 Unbox Phi#251 to Int32 (fallible) Int32 263 GuardShape ← Unbox#261 Object 264 Elements ← GuardShape#263 Elements 265 InitializedLength ← Elements#264 Int32 266 BoundsCheck ← Unbox#262, InitializedLength#265 Int32 267 SpectreMaskIndex ← BoundsCheck#266, InitializedLength#265 Int32 268 GuardElementNotHole ← Elements#264, SpectreMaskIndex#267 269 Constant true Bool 270 Test ← Constant#269 → block 33, block 37 1 0 Block 33 271 Unbox Phi#247 to Object (fallible) Object 272 Unbox Phi#251 to Int32 (fallible) Int32 273 GuardShape ← Unbox#271 Object 274 Elements ← GuardShape#273 Elements 275 InitializedLength ← Elements#274 Int32 276 BoundsCheck ← Unbox#272, InitializedLength#275 Int32 277 SpectreMaskIndex ← BoundsCheck#276, InitializedLength#275 Int32 278 GuardElementsArePacked ← Elements#274 279 LoadElement ← Elements#274, SpectreMaskIndex#277 Value 280 Constant 0x3 Int32 281 Unbox Phi#246 to Object (fallible) Object 282 GuardToFunction ← Unbox#281 Object 283 GuardFunctionScript ← GuardToFunction#282 Object 284 Goto → block 34 Block 34 285 Constant undefined Undefined 286 Constant 0x32 Int32 287 Unbox LoadElement#279 to Double (fallible) Double 288 Compare ← Unbox#287, Constant#286 Gt Bool 290 Goto → block 35 Block 35 291 Test ← Compare#288 → block 36, block 37 1 0 Block 36 292 Unbox Phi#252 to Int32 (fallible) Int32 293 Constant 0x1 Int32 294 Add ← Unbox#292, Constant#293 [int32] Int32 295 Unbox Phi#250 to Object (fallible) Object 296 GuardShape ← Unbox#295 Object 297 Elements ← GuardShape#296 Elements 298 StoreElementHole ← GuardShape#296, Elements#297, Unbox#292, LoadElement#279 299 Goto → block 37 Block 37 (backedge) 300 Phi ← Add#294, Phi#252, Phi#252 Value 301 Phi ← LoadElement#279, Phi#253, LoadElement#279 Value 302 Unbox Phi#251 to Int32 (fallible) Int32 303 Constant 0x1 Int32 304 Add ← Unbox#302, Constant#303 [int32] Int32 305 Goto → block 31 Block 39 308 Unbox Phi#250 to Object (fallible) Object 309 GuardShape ← Unbox#308 Object 310 Constant object 104289c3e088 (Array) Object 311 Constant function reduce (self-hosted:205) at 104289c479c0 Object 312 Constant function complex4/< (-e:18) at 104289c63d98 Object 313 Lambda ← FunctionEnvironment#6, Constant#312 Object 314 Constant 0x0 Int32 315 Constant 0x2 Int32 316 Constant function reduce (self-hosted:205) at 104289c479c0 Object 317 GuardSpecificFunction ← Constant#311, Constant#316 Object 318 Call ← GuardSpecificFunction#317, Phi#250, Lambda#313, Constant#314 Value 319 Return ← Call#318
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 9 Constant object 104289c3e088 (Array) Object 10 Constant function map (self-hosted:163) at 104289c47920 Object 11 Constant function complex4/< (-e:18) at 104289c63d28 Object 12 Lambda ← FunctionEnvironment#6, Constant#11 Object 13 Constant 0x1 Int32 14 Constant function map (self-hosted:163) at 104289c47920 Object 15 GuardSpecificFunction ← Constant#10, Constant#14 Object 16 Goto → block 1 Block 1 17 Constant undefined Undefined 18 Constant function ToObject at 104289c6c740 Object 19 DebugCheckSelfHosted ← Constant#18 Value 20 Constant undefined Undefined 21 Constant 0x1 Int32 22 Unbox Parameter#1 to Object (fallible) Object 23 Constant function ToLength at 104289c6c778 Object 24 DebugCheckSelfHosted ← Constant#23 Value 25 Constant undefined Undefined 26 GuardShape ← Unbox#22 Object 27 Elements ← GuardShape#26 Elements 28 ArrayLength ← Elements#27 Int32 29 Constant 0x1 Int32 30 Constant 0x0 Int32 31 MinMax ← ArrayLength#28, Constant#30 (max) Int32 32 Constant 0x1 Int32 33 Constant 0x0 Int32 34 Compare ← Constant#32, Constant#33 StrictEq Bool 35 Test ← Compare#34 → block 2, block 3 1 0 Block 2 36 CallGetIntrinsicValue Value 37 DebugCheckSelfHosted ← CallGetIntrinsicValue#36 Value 38 Constant undefined Undefined 39 Constant 0x37 Int32 40 Constant 0x0 Int32 41 Constant string 104289c2e080 String 42 Bail 325 Unreachable Block 3 45 Constant function IsCallable at 104289c6c7b0 Object 46 DebugCheckSelfHosted ← Constant#45 Value 47 Constant undefined Undefined 48 Constant 0x1 Int32 49 IsCallable ← Lambda#12 Bool 50 Test ← IsCallable#49 → block 5, block 4 1 0 Block 4 51 CallGetIntrinsicValue Value 52 DebugCheckSelfHosted ← CallGetIntrinsicValue#51 Value 53 Constant undefined Undefined 54 Constant 0xc Int32 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Constant undefined Undefined 58 Constant 0x0 Int32 59 Bail 324 Unreachable Block 5 64 Constant 0x1 Int32 65 Constant 0x1 Int32 66 Compare ← Constant#64, Constant#65 Gt Bool 67 Test ← Compare#66 → block 6, block 7 1 0 Block 6 68 Constant 0x1 Int32 69 GetInlinedArgument ← Constant#68, Lambda#12 Value 70 Goto → block 8 Block 7 71 Constant undefined Undefined 72 Goto → block 8 Block 8 73 Phi ← Constant#71, GetInlinedArgument#69 Value 74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 75 DebugCheckSelfHosted ← Constant#74 Value 76 Constant undefined Undefined 77 Constant 0x1 Int32 78 HasShape ← Unbox#22 Bool 79 Test ← HasShape#78 → block 9, block 10 1 0 Block 9 80 Constant function std_Array at 104289c6c820 Object 81 DebugCheckSelfHosted ← Constant#80 Value 82 Constant undefined Undefined 83 Constant 0x1 Int32 84 Unbox DebugCheckSelfHosted#81 to Object (fallible) Object 85 Constant function std_Array at 104289c6c820 Object 86 GuardSpecificFunction ← Unbox#84, Constant#85 Object 87 NewArrayDynamicLength ← MinMax#31 Object 88 Goto → block 11 Block 10 89 CallGetIntrinsicValue Value 90 DebugCheckSelfHosted ← CallGetIntrinsicValue#89 Value 91 Constant undefined Undefined 92 Bail 323 Unreachable Block 11 95 Phi ← NewArrayDynamicLength#87 Value 96 Constant 0x0 Int32 108 Goto → block 12 Block 12 (loop header) 97 Phi ← Constant#17, Constant#17 Value 98 Phi ← Constant#17, Constant#17 Value 99 Phi ← Parameter#1, Parameter#1 Value 100 Phi ← Lambda#12, Lambda#12 Value 101 Phi ← Unbox#22, Unbox#22 Value 102 Phi ← MinMax#31, MinMax#31 Value 103 Phi ← Phi#73, Phi#73 Value 104 Phi ← Phi#95, Phi#95 Value 105 Phi ← Constant#96, Add#153 Value 106 Phi ← Constant#17, Phi#150 Value 107 Phi ← Parameter#1, Parameter#1 Value 109 InterruptCheck 110 Unbox Phi#105 to Int32 (fallible) Int32 111 Unbox Phi#102 to Int32 (fallible) Int32 112 Compare ← Unbox#110, Unbox#111 Lt Bool 113 Test ← Compare#112 → block 13, block 19 1 0 Block 13 114 Unbox Phi#101 to Object (fallible) Object 115 Unbox Phi#105 to Int32 (fallible) Int32 116 GuardShape ← Unbox#114 Object 117 Elements ← GuardShape#116 Elements 118 InitializedLength ← Elements#117 Int32 119 BoundsCheck ← Unbox#115, InitializedLength#118 Int32 120 SpectreMaskIndex ← BoundsCheck#119, InitializedLength#118 Int32 121 GuardElementNotHole ← Elements#117, SpectreMaskIndex#120 122 Constant true Bool 123 Test ← Constant#122 → block 14, block 17 1 0 Block 14 124 Unbox Phi#101 to Object (fallible) Object 125 Unbox Phi#105 to Int32 (fallible) Int32 126 GuardShape ← Unbox#124 Object 127 Elements ← GuardShape#126 Elements 128 InitializedLength ← Elements#127 Int32 129 BoundsCheck ← Unbox#125, InitializedLength#128 Int32 130 SpectreMaskIndex ← BoundsCheck#129, InitializedLength#128 Int32 131 GuardElementsArePacked ← Elements#127 132 LoadElement ← Elements#127, SpectreMaskIndex#130 Value 133 Constant 0x3 Int32 134 Unbox Phi#100 to Object (fallible) Object 135 GuardToFunction ← Unbox#134 Object 136 GuardFunctionScript ← GuardToFunction#135 Object 137 Goto → block 15 Block 15 138 Constant undefined Undefined 139 Constant 0x2 Int32 140 Unbox LoadElement#132 to Double (fallible) Double 141 Mul ← Unbox#140, Constant#139 [double] Double 143 Goto → block 16 Block 16 144 Unbox Phi#104 to Object (fallible) Object 145 Unbox Phi#105 to Int32 (fallible) Int32 146 GuardShape ← Unbox#144 Object 147 Elements ← GuardShape#146 Elements 148 StoreElementHole ← GuardShape#146, Elements#147, Unbox#145, Mul#141 149 Goto → block 17 Block 17 (backedge) 150 Phi ← Mul#141, Phi#106 Value 151 Unbox Phi#105 to Int32 (fallible) Int32 152 Constant 0x1 Int32 153 Add ← Unbox#151, Constant#152 [int32] Int32 154 Goto → block 12 Block 19 157 Unbox Phi#104 to Object (fallible) Object 158 GuardShape ← Unbox#157 Object 159 Constant object 104289c3e088 (Array) Object 160 Constant function filter (self-hosted:183) at 104289c47970 Object 161 Constant function complex4/< (-e:18) at 104289c63d60 Object 162 Lambda ← FunctionEnvironment#6, Constant#161 Object 163 Constant 0x1 Int32 164 Constant function filter (self-hosted:183) at 104289c47970 Object 165 GuardSpecificFunction ← Constant#160, Constant#164 Object 166 Goto → block 20 Block 20 167 Constant undefined Undefined 168 Constant function ToObject at 104289c6c740 Object 169 DebugCheckSelfHosted ← Constant#168 Value 170 Constant undefined Undefined 171 Constant 0x1 Int32 172 Unbox Phi#104 to Object (fallible) Object 173 Constant function ToLength at 104289c6c778 Object 174 DebugCheckSelfHosted ← Constant#173 Value 175 Constant undefined Undefined 176 GuardShape ← Unbox#172 Object 177 Elements ← GuardShape#176 Elements 178 ArrayLength ← Elements#177 Int32 179 Constant 0x1 Int32 180 Constant 0x0 Int32 181 MinMax ← ArrayLength#178, Constant#180 (max) Int32 182 Constant 0x1 Int32 183 Constant 0x0 Int32 184 Compare ← Constant#182, Constant#183 StrictEq Bool 185 Test ← Compare#184 → block 21, block 22 1 0 Block 21 186 CallGetIntrinsicValue Value 187 DebugCheckSelfHosted ← CallGetIntrinsicValue#186 Value 188 Constant undefined Undefined 189 Constant 0x37 Int32 190 Constant 0x0 Int32 191 Constant string 104289c28540 String 192 Bail 322 Unreachable Block 22 195 Constant function IsCallable at 104289c6c7b0 Object 196 DebugCheckSelfHosted ← Constant#195 Value 197 Constant undefined Undefined 198 Constant 0x1 Int32 199 IsCallable ← Lambda#162 Bool 200 Test ← IsCallable#199 → block 24, block 23 1 0 Block 23 201 CallGetIntrinsicValue Value 202 DebugCheckSelfHosted ← CallGetIntrinsicValue#201 Value 203 Constant undefined Undefined 204 Constant 0xc Int32 205 CallGetIntrinsicValue Value 206 DebugCheckSelfHosted ← CallGetIntrinsicValue#205 Value 207 Constant undefined Undefined 208 Constant 0x0 Int32 209 Bail 321 Unreachable Block 24 214 Constant 0x1 Int32 215 Constant 0x1 Int32 216 Compare ← Constant#214, Constant#215 Gt Bool 217 Test ← Compare#216 → block 25, block 26 1 0 Block 25 218 Constant 0x1 Int32 219 GetInlinedArgument ← Constant#218, Lambda#162 Value 220 Goto → block 27 Block 26 221 Constant undefined Undefined 222 Goto → block 27 Block 27 223 Phi ← Constant#221, GetInlinedArgument#219 Value 224 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 225 DebugCheckSelfHosted ← Constant#224 Value 226 Constant undefined Undefined 227 Constant 0x1 Int32 228 HasShape ← Unbox#172 Bool 229 Test ← HasShape#228 → block 28, block 29 1 0 Block 28 230 Constant shape at 104289c64f00 Shape 231 NewArrayObject ← Constant#230 Object 232 Goto → block 30 Block 29 233 CallGetIntrinsicValue Value 234 DebugCheckSelfHosted ← CallGetIntrinsicValue#233 Value 235 Constant undefined Undefined 236 Constant 0x0 Int32 237 Bail 320 Unreachable Block 30 240 Phi ← NewArrayObject#231 Value 241 Constant 0x0 Int32 242 Constant 0x0 Int32 255 Goto → block 31 Block 31 (loop header) 243 Phi ← Constant#167, Constant#167 Value 244 Phi ← Constant#167, Constant#167 Value 245 Phi ← Phi#104, Phi#104 Value 246 Phi ← Lambda#162, Lambda#162 Value 247 Phi ← Unbox#172, Unbox#172 Value 248 Phi ← MinMax#181, MinMax#181 Value 249 Phi ← Phi#223, Phi#223 Value 250 Phi ← Phi#240, Phi#240 Value 251 Phi ← Constant#241, Add#304 Value 252 Phi ← Constant#242, Phi#300 Value 253 Phi ← Constant#167, Phi#301 Value 254 Phi ← Phi#104, Phi#104 Value 256 InterruptCheck 257 Unbox Phi#251 to Int32 (fallible) Int32 258 Unbox Phi#248 to Int32 (fallible) Int32 259 Compare ← Unbox#257, Unbox#258 Lt Bool 260 Test ← Compare#259 → block 32, block 39 1 0 Block 32 261 Unbox Phi#247 to Object (fallible) Object 262 Unbox Phi#251 to Int32 (fallible) Int32 263 GuardShape ← Unbox#261 Object 264 Elements ← GuardShape#263 Elements 265 InitializedLength ← Elements#264 Int32 266 BoundsCheck ← Unbox#262, InitializedLength#265 Int32 267 SpectreMaskIndex ← BoundsCheck#266, InitializedLength#265 Int32 268 GuardElementNotHole ← Elements#264, SpectreMaskIndex#267 269 Constant true Bool 270 Test ← Constant#269 → block 33, block 37 1 0 Block 33 271 Unbox Phi#247 to Object (fallible) Object 272 Unbox Phi#251 to Int32 (fallible) Int32 273 GuardShape ← Unbox#271 Object 274 Elements ← GuardShape#273 Elements 275 InitializedLength ← Elements#274 Int32 276 BoundsCheck ← Unbox#272, InitializedLength#275 Int32 277 SpectreMaskIndex ← BoundsCheck#276, InitializedLength#275 Int32 278 GuardElementsArePacked ← Elements#274 279 LoadElement ← Elements#274, SpectreMaskIndex#277 Value 280 Constant 0x3 Int32 281 Unbox Phi#246 to Object (fallible) Object 282 GuardToFunction ← Unbox#281 Object 283 GuardFunctionScript ← GuardToFunction#282 Object 284 Goto → block 34 Block 34 285 Constant undefined Undefined 286 Constant 0x32 Int32 287 Unbox LoadElement#279 to Double (fallible) Double 288 Compare ← Unbox#287, Constant#286 Gt Bool 290 Goto → block 35 Block 35 291 Test ← Compare#288 → block 36, block 37 1 0 Block 36 292 Unbox Phi#252 to Int32 (fallible) Int32 293 Constant 0x1 Int32 294 Add ← Unbox#292, Constant#293 [int32] Int32 295 Unbox Phi#250 to Object (fallible) Object 296 GuardShape ← Unbox#295 Object 297 Elements ← GuardShape#296 Elements 298 StoreElementHole ← GuardShape#296, Elements#297, Unbox#292, LoadElement#279 299 Goto → block 37 Block 37 (backedge) 300 Phi ← Add#294, Phi#252, Phi#252 Value 301 Phi ← LoadElement#279, Phi#253, LoadElement#279 Value 302 Unbox Phi#251 to Int32 (fallible) Int32 303 Constant 0x1 Int32 304 Add ← Unbox#302, Constant#303 [int32] Int32 305 Goto → block 31 Block 39 308 Unbox Phi#250 to Object (fallible) Object 309 GuardShape ← Unbox#308 Object 310 Constant object 104289c3e088 (Array) Object 311 Constant function reduce (self-hosted:205) at 104289c479c0 Object 312 Constant function complex4/< (-e:18) at 104289c63d98 Object 313 Lambda ← FunctionEnvironment#6, Constant#312 Object 314 Constant 0x0 Int32 315 Constant 0x2 Int32 316 Constant function reduce (self-hosted:205) at 104289c479c0 Object 317 GuardSpecificFunction ← Constant#311, Constant#316 Object 318 Call ← GuardSpecificFunction#317, Phi#250, Lambda#313, Constant#314 Value 319 Return ← Call#318
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 9 Constant object 104289c3e088 (Array) Object 10 Constant function map (self-hosted:163) at 104289c47920 Object 11 Constant function complex4/< (-e:18) at 104289c63d28 Object 12 Lambda ← FunctionEnvironment#6, Constant#11 Object 13 Constant 0x1 Int32 14 Constant function map (self-hosted:163) at 104289c47920 Object 15 GuardSpecificFunction ← Constant#10, Constant#14 Object 16 Goto → block 1 Block 1 17 Constant undefined Undefined 18 Constant function ToObject at 104289c6c740 Object 19 DebugCheckSelfHosted ← Constant#18 Value 20 Constant undefined Undefined 21 Constant 0x1 Int32 22 Unbox Parameter#1 to Object (fallible) Object 23 Constant function ToLength at 104289c6c778 Object 24 DebugCheckSelfHosted ← Constant#23 Value 25 Constant undefined Undefined 26 GuardShape ← Unbox#22 Object 27 Elements ← GuardShape#26 Elements 28 ArrayLength ← Elements#27 Int32 29 Constant 0x1 Int32 30 Constant 0x0 Int32 31 MinMax ← ArrayLength#28, Constant#30 (max) Int32 32 Constant 0x1 Int32 33 Constant 0x0 Int32 34 Compare ← Constant#32, Constant#33 StrictEq Bool 35 Test ← Compare#34 → block 2, block 3 1 0 Block 2 36 CallGetIntrinsicValue Value 37 DebugCheckSelfHosted ← CallGetIntrinsicValue#36 Value 38 Constant undefined Undefined 39 Constant 0x37 Int32 40 Constant 0x0 Int32 41 Constant string 104289c2e080 String 42 Bail 325 Unreachable Block 3 45 Constant function IsCallable at 104289c6c7b0 Object 46 DebugCheckSelfHosted ← Constant#45 Value 47 Constant undefined Undefined 48 Constant 0x1 Int32 49 IsCallable ← Lambda#12 Bool 50 Test ← IsCallable#49 → block 5, block 4 1 0 Block 4 51 CallGetIntrinsicValue Value 52 DebugCheckSelfHosted ← CallGetIntrinsicValue#51 Value 53 Constant undefined Undefined 54 Constant 0xc Int32 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Constant undefined Undefined 58 Constant 0x0 Int32 59 Bail 324 Unreachable Block 5 64 Constant 0x1 Int32 65 Constant 0x1 Int32 66 Compare ← Constant#64, Constant#65 Gt Bool 67 Test ← Compare#66 → block 6, block 7 1 0 Block 6 68 Constant 0x1 Int32 69 GetInlinedArgument ← Constant#68, Lambda#12 Value 70 Goto → block 8 Block 7 71 Constant undefined Undefined 72 Goto → block 8 Block 8 73 Phi ← Constant#71, GetInlinedArgument#69 Value 74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 75 DebugCheckSelfHosted ← Constant#74 Value 76 Constant undefined Undefined 77 Constant 0x1 Int32 78 HasShape ← Unbox#22 Bool 79 Test ← HasShape#78 → block 9, block 10 1 0 Block 9 80 Constant function std_Array at 104289c6c820 Object 81 DebugCheckSelfHosted ← Constant#80 Value 82 Constant undefined Undefined 83 Constant 0x1 Int32 84 Unbox DebugCheckSelfHosted#81 to Object (fallible) Object 85 Constant function std_Array at 104289c6c820 Object 86 GuardSpecificFunction ← Unbox#84, Constant#85 Object 87 NewArrayDynamicLength ← MinMax#31 Object 88 Goto → block 11 Block 10 89 CallGetIntrinsicValue Value 90 DebugCheckSelfHosted ← CallGetIntrinsicValue#89 Value 91 Constant undefined Undefined 92 Bail 323 Unreachable Block 11 95 Phi ← NewArrayDynamicLength#87 Value 96 Constant 0x0 Int32 108 Goto → block 12 Block 12 (loop header) 97 Phi ← Constant#17, Constant#17 Value 98 Phi ← Constant#17, Constant#17 Value 99 Phi ← Parameter#1, Parameter#1 Value 100 Phi ← Lambda#12, Lambda#12 Value 101 Phi ← Unbox#22, Unbox#22 Value 102 Phi ← MinMax#31, MinMax#31 Value 103 Phi ← Phi#73, Phi#73 Value 104 Phi ← Phi#95, Phi#95 Value 105 Phi ← Constant#96, Add#153 Value 106 Phi ← Constant#17, Phi#150 Value 107 Phi ← Parameter#1, Parameter#1 Value 109 InterruptCheck 110 Unbox Phi#105 to Int32 (fallible) Int32 111 Unbox Phi#102 to Int32 (fallible) Int32 112 Compare ← Unbox#110, Unbox#111 Lt Bool 113 Test ← Compare#112 → block 13, block 19 1 0 Block 13 114 Unbox Phi#101 to Object (fallible) Object 115 Unbox Phi#105 to Int32 (fallible) Int32 116 GuardShape ← Unbox#114 Object 117 Elements ← GuardShape#116 Elements 118 InitializedLength ← Elements#117 Int32 119 BoundsCheck ← Unbox#115, InitializedLength#118 Int32 120 SpectreMaskIndex ← BoundsCheck#119, InitializedLength#118 Int32 121 GuardElementNotHole ← Elements#117, SpectreMaskIndex#120 122 Constant true Bool 123 Test ← Constant#122 → block 14, block 17 1 0 Block 14 124 Unbox Phi#101 to Object (fallible) Object 125 Unbox Phi#105 to Int32 (fallible) Int32 126 GuardShape ← Unbox#124 Object 127 Elements ← GuardShape#126 Elements 128 InitializedLength ← Elements#127 Int32 129 BoundsCheck ← Unbox#125, InitializedLength#128 Int32 130 SpectreMaskIndex ← BoundsCheck#129, InitializedLength#128 Int32 131 GuardElementsArePacked ← Elements#127 132 LoadElement ← Elements#127, SpectreMaskIndex#130 Value 133 Constant 0x3 Int32 134 Unbox Phi#100 to Object (fallible) Object 135 GuardToFunction ← Unbox#134 Object 136 GuardFunctionScript ← GuardToFunction#135 Object 137 Goto → block 15 Block 15 138 Constant undefined Undefined 139 Constant 0x2 Int32 140 Unbox LoadElement#132 to Double (fallible) Double 141 Mul ← Unbox#140, Constant#139 [double] Double 143 Goto → block 16 Block 16 144 Unbox Phi#104 to Object (fallible) Object 145 Unbox Phi#105 to Int32 (fallible) Int32 146 GuardShape ← Unbox#144 Object 147 Elements ← GuardShape#146 Elements 148 StoreElementHole ← GuardShape#146, Elements#147, Unbox#145, Mul#141 149 Goto → block 17 Block 17 (backedge) 150 Phi ← Mul#141, Phi#106 Value 151 Unbox Phi#105 to Int32 (fallible) Int32 152 Constant 0x1 Int32 153 Add ← Unbox#151, Constant#152 [int32] Int32 154 Goto → block 12 Block 19 157 Unbox Phi#104 to Object (fallible) Object 158 GuardShape ← Unbox#157 Object 159 Constant object 104289c3e088 (Array) Object 160 Constant function filter (self-hosted:183) at 104289c47970 Object 161 Constant function complex4/< (-e:18) at 104289c63d60 Object 162 Lambda ← FunctionEnvironment#6, Constant#161 Object 163 Constant 0x1 Int32 164 Constant function filter (self-hosted:183) at 104289c47970 Object 165 GuardSpecificFunction ← Constant#160, Constant#164 Object 166 Goto → block 20 Block 20 167 Constant undefined Undefined 168 Constant function ToObject at 104289c6c740 Object 169 DebugCheckSelfHosted ← Constant#168 Value 170 Constant undefined Undefined 171 Constant 0x1 Int32 172 Unbox Phi#104 to Object (fallible) Object 173 Constant function ToLength at 104289c6c778 Object 174 DebugCheckSelfHosted ← Constant#173 Value 175 Constant undefined Undefined 176 GuardShape ← Unbox#172 Object 177 Elements ← GuardShape#176 Elements 178 ArrayLength ← Elements#177 Int32 179 Constant 0x1 Int32 180 Constant 0x0 Int32 181 MinMax ← ArrayLength#178, Constant#180 (max) Int32 182 Constant 0x1 Int32 183 Constant 0x0 Int32 184 Compare ← Constant#182, Constant#183 StrictEq Bool 185 Test ← Compare#184 → block 21, block 22 1 0 Block 21 186 CallGetIntrinsicValue Value 187 DebugCheckSelfHosted ← CallGetIntrinsicValue#186 Value 188 Constant undefined Undefined 189 Constant 0x37 Int32 190 Constant 0x0 Int32 191 Constant string 104289c28540 String 192 Bail 322 Unreachable Block 22 195 Constant function IsCallable at 104289c6c7b0 Object 196 DebugCheckSelfHosted ← Constant#195 Value 197 Constant undefined Undefined 198 Constant 0x1 Int32 199 IsCallable ← Lambda#162 Bool 200 Test ← IsCallable#199 → block 24, block 23 1 0 Block 23 201 CallGetIntrinsicValue Value 202 DebugCheckSelfHosted ← CallGetIntrinsicValue#201 Value 203 Constant undefined Undefined 204 Constant 0xc Int32 205 CallGetIntrinsicValue Value 206 DebugCheckSelfHosted ← CallGetIntrinsicValue#205 Value 207 Constant undefined Undefined 208 Constant 0x0 Int32 209 Bail 321 Unreachable Block 24 214 Constant 0x1 Int32 215 Constant 0x1 Int32 216 Compare ← Constant#214, Constant#215 Gt Bool 217 Test ← Compare#216 → block 25, block 26 1 0 Block 25 218 Constant 0x1 Int32 219 GetInlinedArgument ← Constant#218, Lambda#162 Value 220 Goto → block 27 Block 26 221 Constant undefined Undefined 222 Goto → block 27 Block 27 223 Phi ← Constant#221, GetInlinedArgument#219 Value 224 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 225 DebugCheckSelfHosted ← Constant#224 Value 226 Constant undefined Undefined 227 Constant 0x1 Int32 228 HasShape ← Unbox#172 Bool 229 Test ← HasShape#228 → block 28, block 29 1 0 Block 28 230 Constant shape at 104289c64f00 Shape 231 NewArrayObject ← Constant#230 Object 232 Goto → block 30 Block 29 233 CallGetIntrinsicValue Value 234 DebugCheckSelfHosted ← CallGetIntrinsicValue#233 Value 235 Constant undefined Undefined 236 Constant 0x0 Int32 237 Bail 320 Unreachable Block 30 240 Phi ← NewArrayObject#231 Value 241 Constant 0x0 Int32 242 Constant 0x0 Int32 255 Goto → block 31 Block 31 (loop header) 243 Phi ← Constant#167, Constant#167 Value 244 Phi ← Constant#167, Constant#167 Value 245 Phi ← Phi#104, Phi#104 Value 246 Phi ← Lambda#162, Lambda#162 Value 247 Phi ← Unbox#172, Unbox#172 Value 248 Phi ← MinMax#181, MinMax#181 Value 249 Phi ← Phi#223, Phi#223 Value 250 Phi ← Phi#240, Phi#240 Value 251 Phi ← Constant#241, Add#304 Value 252 Phi ← Constant#242, Phi#300 Value 253 Phi ← Constant#167, Phi#301 Value 254 Phi ← Phi#104, Phi#104 Value 256 InterruptCheck 257 Unbox Phi#251 to Int32 (fallible) Int32 258 Unbox Phi#248 to Int32 (fallible) Int32 259 Compare ← Unbox#257, Unbox#258 Lt Bool 260 Test ← Compare#259 → block 32, block 39 1 0 Block 32 261 Unbox Phi#247 to Object (fallible) Object 262 Unbox Phi#251 to Int32 (fallible) Int32 263 GuardShape ← Unbox#261 Object 264 Elements ← GuardShape#263 Elements 265 InitializedLength ← Elements#264 Int32 266 BoundsCheck ← Unbox#262, InitializedLength#265 Int32 267 SpectreMaskIndex ← BoundsCheck#266, InitializedLength#265 Int32 268 GuardElementNotHole ← Elements#264, SpectreMaskIndex#267 269 Constant true Bool 270 Test ← Constant#269 → block 33, block 37 1 0 Block 33 271 Unbox Phi#247 to Object (fallible) Object 272 Unbox Phi#251 to Int32 (fallible) Int32 273 GuardShape ← Unbox#271 Object 274 Elements ← GuardShape#273 Elements 275 InitializedLength ← Elements#274 Int32 276 BoundsCheck ← Unbox#272, InitializedLength#275 Int32 277 SpectreMaskIndex ← BoundsCheck#276, InitializedLength#275 Int32 278 GuardElementsArePacked ← Elements#274 279 LoadElement ← Elements#274, SpectreMaskIndex#277 Value 280 Constant 0x3 Int32 281 Unbox Phi#246 to Object (fallible) Object 282 GuardToFunction ← Unbox#281 Object 283 GuardFunctionScript ← GuardToFunction#282 Object 284 Goto → block 34 Block 34 285 Constant undefined Undefined 286 Constant 0x32 Int32 287 Unbox LoadElement#279 to Double (fallible) Double 288 Compare ← Unbox#287, Constant#286 Gt Bool 290 Goto → block 35 Block 35 291 Test ← Compare#288 → block 36, block 37 1 0 Block 36 292 Unbox Phi#252 to Int32 (fallible) Int32 293 Constant 0x1 Int32 294 Add ← Unbox#292, Constant#293 [int32] Int32 295 Unbox Phi#250 to Object (fallible) Object 296 GuardShape ← Unbox#295 Object 297 Elements ← GuardShape#296 Elements 298 StoreElementHole ← GuardShape#296, Elements#297, Unbox#292, LoadElement#279 299 Goto → block 37 Block 37 (backedge) 300 Phi ← Add#294, Phi#252, Phi#252 Value 301 Phi ← LoadElement#279, Phi#253, LoadElement#279 Value 302 Unbox Phi#251 to Int32 (fallible) Int32 303 Constant 0x1 Int32 304 Add ← Unbox#302, Constant#303 [int32] Int32 305 Goto → block 31 Block 39 308 Unbox Phi#250 to Object (fallible) Object 309 GuardShape ← Unbox#308 Object 310 Constant object 104289c3e088 (Array) Object 311 Constant function reduce (self-hosted:205) at 104289c479c0 Object 312 Constant function complex4/< (-e:18) at 104289c63d98 Object 313 Lambda ← FunctionEnvironment#6, Constant#312 Object 314 Constant 0x0 Int32 315 Constant 0x2 Int32 316 Constant function reduce (self-hosted:205) at 104289c479c0 Object 317 GuardSpecificFunction ← Constant#311, Constant#316 Object 318 Call ← GuardSpecificFunction#317, Phi#250, Lambda#313, Constant#314 Value 319 Return ← Call#318
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 9 Constant object 104289c3e088 (Array) Object 10 Constant function map (self-hosted:163) at 104289c47920 Object 11 Constant function complex4/< (-e:18) at 104289c63d28 Object 12 Lambda ← FunctionEnvironment#6, Constant#11 Object 13 Constant 0x1 Int32 14 Constant function map (self-hosted:163) at 104289c47920 Object 15 GuardSpecificFunction ← Constant#10, Constant#14 Object 16 Goto → block 1 Block 1 17 Constant undefined Undefined 18 Constant function ToObject at 104289c6c740 Object 19 DebugCheckSelfHosted ← Constant#18 Value 20 Constant undefined Undefined 21 Constant 0x1 Int32 22 Unbox Parameter#1 to Object (fallible) Object 23 Constant function ToLength at 104289c6c778 Object 24 DebugCheckSelfHosted ← Constant#23 Value 25 Constant undefined Undefined 26 GuardShape ← Unbox#22 Object 27 Elements ← GuardShape#26 Elements 28 ArrayLength ← Elements#27 Int32 29 Constant 0x1 Int32 30 Constant 0x0 Int32 31 MinMax ← ArrayLength#28, Constant#30 (max) Int32 32 Constant 0x1 Int32 33 Constant 0x0 Int32 34 Compare ← Constant#32, Constant#33 StrictEq Bool 35 Test ← Compare#34 → block 2, block 3 1 0 Block 2 36 CallGetIntrinsicValue Value 37 DebugCheckSelfHosted ← CallGetIntrinsicValue#36 Value 38 Constant undefined Undefined 39 Constant 0x37 Int32 40 Constant 0x0 Int32 41 Constant string 104289c2e080 String 42 Bail 325 Unreachable Block 3 45 Constant function IsCallable at 104289c6c7b0 Object 46 DebugCheckSelfHosted ← Constant#45 Value 47 Constant undefined Undefined 48 Constant 0x1 Int32 49 IsCallable ← Lambda#12 Bool 50 Test ← IsCallable#49 → block 5, block 4 1 0 Block 4 51 CallGetIntrinsicValue Value 52 DebugCheckSelfHosted ← CallGetIntrinsicValue#51 Value 53 Constant undefined Undefined 54 Constant 0xc Int32 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Constant undefined Undefined 58 Constant 0x0 Int32 59 Bail 324 Unreachable Block 5 64 Constant 0x1 Int32 65 Constant 0x1 Int32 66 Compare ← Constant#64, Constant#65 Gt Bool 67 Test ← Compare#66 → block 6, block 7 1 0 Block 6 68 Constant 0x1 Int32 69 GetInlinedArgument ← Constant#68, Lambda#12 Value 70 Goto → block 8 Block 7 71 Constant undefined Undefined 72 Goto → block 8 Block 8 73 Phi ← Constant#71, GetInlinedArgument#69 Value 74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 75 DebugCheckSelfHosted ← Constant#74 Value 76 Constant undefined Undefined 77 Constant 0x1 Int32 78 HasShape ← Unbox#22 Bool 79 Test ← HasShape#78 → block 9, block 10 1 0 Block 9 80 Constant function std_Array at 104289c6c820 Object 81 DebugCheckSelfHosted ← Constant#80 Value 82 Constant undefined Undefined 83 Constant 0x1 Int32 84 Unbox DebugCheckSelfHosted#81 to Object (fallible) Object 85 Constant function std_Array at 104289c6c820 Object 86 GuardSpecificFunction ← Unbox#84, Constant#85 Object 87 NewArrayDynamicLength ← MinMax#31 Object 88 Goto → block 11 Block 10 89 CallGetIntrinsicValue Value 90 DebugCheckSelfHosted ← CallGetIntrinsicValue#89 Value 91 Constant undefined Undefined 92 Bail 323 Unreachable Block 11 95 Phi ← NewArrayDynamicLength#87 Value 96 Constant 0x0 Int32 108 Goto → block 12 Block 12 (loop header) 97 Phi ← Constant#17, Constant#17 Value 98 Phi ← Constant#17, Constant#17 Value 99 Phi ← Parameter#1, Parameter#1 Value 100 Phi ← Lambda#12, Lambda#12 Value 101 Phi ← Unbox#22, Unbox#22 Value 102 Phi ← MinMax#31, MinMax#31 Value 103 Phi ← Phi#73, Phi#73 Value 104 Phi ← Phi#95, Phi#95 Value 105 Phi ← Constant#96, Add#153 Value 106 Phi ← Constant#17, Phi#150 Value 107 Phi ← Parameter#1, Parameter#1 Value 109 InterruptCheck 110 Unbox Phi#105 to Int32 (fallible) Int32 111 Unbox Phi#102 to Int32 (fallible) Int32 112 Compare ← Unbox#110, Unbox#111 Lt Bool 113 Test ← Compare#112 → block 13, block 19 1 0 Block 13 114 Unbox Phi#101 to Object (fallible) Object 115 Unbox Phi#105 to Int32 (fallible) Int32 116 GuardShape ← Unbox#114 Object 117 Elements ← GuardShape#116 Elements 118 InitializedLength ← Elements#117 Int32 119 BoundsCheck ← Unbox#115, InitializedLength#118 Int32 120 SpectreMaskIndex ← BoundsCheck#119, InitializedLength#118 Int32 121 GuardElementNotHole ← Elements#117, SpectreMaskIndex#120 122 Constant true Bool 123 Test ← Constant#122 → block 14, block 40 1 0 Block 40 (split edge) 326 Goto → block 17 Block 14 124 Unbox Phi#101 to Object (fallible) Object 125 Unbox Phi#105 to Int32 (fallible) Int32 126 GuardShape ← Unbox#124 Object 127 Elements ← GuardShape#126 Elements 128 InitializedLength ← Elements#127 Int32 129 BoundsCheck ← Unbox#125, InitializedLength#128 Int32 130 SpectreMaskIndex ← BoundsCheck#129, InitializedLength#128 Int32 131 GuardElementsArePacked ← Elements#127 132 LoadElement ← Elements#127, SpectreMaskIndex#130 Value 133 Constant 0x3 Int32 134 Unbox Phi#100 to Object (fallible) Object 135 GuardToFunction ← Unbox#134 Object 136 GuardFunctionScript ← GuardToFunction#135 Object 137 Goto → block 15 Block 15 138 Constant undefined Undefined 139 Constant 0x2 Int32 140 Unbox LoadElement#132 to Double (fallible) Double 141 Mul ← Unbox#140, Constant#139 [double] Double 143 Goto → block 16 Block 16 144 Unbox Phi#104 to Object (fallible) Object 145 Unbox Phi#105 to Int32 (fallible) Int32 146 GuardShape ← Unbox#144 Object 147 Elements ← GuardShape#146 Elements 148 StoreElementHole ← GuardShape#146, Elements#147, Unbox#145, Mul#141 149 Goto → block 17 Block 17 (backedge) 150 Phi ← Mul#141, Phi#106 Value 151 Unbox Phi#105 to Int32 (fallible) Int32 152 Constant 0x1 Int32 153 Add ← Unbox#151, Constant#152 [int32] Int32 154 Goto → block 12 Block 19 157 Unbox Phi#104 to Object (fallible) Object 158 GuardShape ← Unbox#157 Object 159 Constant object 104289c3e088 (Array) Object 160 Constant function filter (self-hosted:183) at 104289c47970 Object 161 Constant function complex4/< (-e:18) at 104289c63d60 Object 162 Lambda ← FunctionEnvironment#6, Constant#161 Object 163 Constant 0x1 Int32 164 Constant function filter (self-hosted:183) at 104289c47970 Object 165 GuardSpecificFunction ← Constant#160, Constant#164 Object 166 Goto → block 20 Block 20 167 Constant undefined Undefined 168 Constant function ToObject at 104289c6c740 Object 169 DebugCheckSelfHosted ← Constant#168 Value 170 Constant undefined Undefined 171 Constant 0x1 Int32 172 Unbox Phi#104 to Object (fallible) Object 173 Constant function ToLength at 104289c6c778 Object 174 DebugCheckSelfHosted ← Constant#173 Value 175 Constant undefined Undefined 176 GuardShape ← Unbox#172 Object 177 Elements ← GuardShape#176 Elements 178 ArrayLength ← Elements#177 Int32 179 Constant 0x1 Int32 180 Constant 0x0 Int32 181 MinMax ← ArrayLength#178, Constant#180 (max) Int32 182 Constant 0x1 Int32 183 Constant 0x0 Int32 184 Compare ← Constant#182, Constant#183 StrictEq Bool 185 Test ← Compare#184 → block 21, block 22 1 0 Block 21 186 CallGetIntrinsicValue Value 187 DebugCheckSelfHosted ← CallGetIntrinsicValue#186 Value 188 Constant undefined Undefined 189 Constant 0x37 Int32 190 Constant 0x0 Int32 191 Constant string 104289c28540 String 192 Bail 322 Unreachable Block 22 195 Constant function IsCallable at 104289c6c7b0 Object 196 DebugCheckSelfHosted ← Constant#195 Value 197 Constant undefined Undefined 198 Constant 0x1 Int32 199 IsCallable ← Lambda#162 Bool 200 Test ← IsCallable#199 → block 24, block 23 1 0 Block 23 201 CallGetIntrinsicValue Value 202 DebugCheckSelfHosted ← CallGetIntrinsicValue#201 Value 203 Constant undefined Undefined 204 Constant 0xc Int32 205 CallGetIntrinsicValue Value 206 DebugCheckSelfHosted ← CallGetIntrinsicValue#205 Value 207 Constant undefined Undefined 208 Constant 0x0 Int32 209 Bail 321 Unreachable Block 24 214 Constant 0x1 Int32 215 Constant 0x1 Int32 216 Compare ← Constant#214, Constant#215 Gt Bool 217 Test ← Compare#216 → block 25, block 26 1 0 Block 25 218 Constant 0x1 Int32 219 GetInlinedArgument ← Constant#218, Lambda#162 Value 220 Goto → block 27 Block 26 221 Constant undefined Undefined 222 Goto → block 27 Block 27 223 Phi ← Constant#221, GetInlinedArgument#219 Value 224 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 225 DebugCheckSelfHosted ← Constant#224 Value 226 Constant undefined Undefined 227 Constant 0x1 Int32 228 HasShape ← Unbox#172 Bool 229 Test ← HasShape#228 → block 28, block 29 1 0 Block 28 230 Constant shape at 104289c64f00 Shape 231 NewArrayObject ← Constant#230 Object 232 Goto → block 30 Block 29 233 CallGetIntrinsicValue Value 234 DebugCheckSelfHosted ← CallGetIntrinsicValue#233 Value 235 Constant undefined Undefined 236 Constant 0x0 Int32 237 Bail 320 Unreachable Block 30 240 Phi ← NewArrayObject#231 Value 241 Constant 0x0 Int32 242 Constant 0x0 Int32 255 Goto → block 31 Block 31 (loop header) 243 Phi ← Constant#167, Constant#167 Value 244 Phi ← Constant#167, Constant#167 Value 245 Phi ← Phi#104, Phi#104 Value 246 Phi ← Lambda#162, Lambda#162 Value 247 Phi ← Unbox#172, Unbox#172 Value 248 Phi ← MinMax#181, MinMax#181 Value 249 Phi ← Phi#223, Phi#223 Value 250 Phi ← Phi#240, Phi#240 Value 251 Phi ← Constant#241, Add#304 Value 252 Phi ← Constant#242, Phi#300 Value 253 Phi ← Constant#167, Phi#301 Value 254 Phi ← Phi#104, Phi#104 Value 256 InterruptCheck 257 Unbox Phi#251 to Int32 (fallible) Int32 258 Unbox Phi#248 to Int32 (fallible) Int32 259 Compare ← Unbox#257, Unbox#258 Lt Bool 260 Test ← Compare#259 → block 32, block 39 1 0 Block 32 261 Unbox Phi#247 to Object (fallible) Object 262 Unbox Phi#251 to Int32 (fallible) Int32 263 GuardShape ← Unbox#261 Object 264 Elements ← GuardShape#263 Elements 265 InitializedLength ← Elements#264 Int32 266 BoundsCheck ← Unbox#262, InitializedLength#265 Int32 267 SpectreMaskIndex ← BoundsCheck#266, InitializedLength#265 Int32 268 GuardElementNotHole ← Elements#264, SpectreMaskIndex#267 269 Constant true Bool 270 Test ← Constant#269 → block 33, block 41 1 0 Block 41 (split edge) 327 Goto → block 37 Block 33 271 Unbox Phi#247 to Object (fallible) Object 272 Unbox Phi#251 to Int32 (fallible) Int32 273 GuardShape ← Unbox#271 Object 274 Elements ← GuardShape#273 Elements 275 InitializedLength ← Elements#274 Int32 276 BoundsCheck ← Unbox#272, InitializedLength#275 Int32 277 SpectreMaskIndex ← BoundsCheck#276, InitializedLength#275 Int32 278 GuardElementsArePacked ← Elements#274 279 LoadElement ← Elements#274, SpectreMaskIndex#277 Value 280 Constant 0x3 Int32 281 Unbox Phi#246 to Object (fallible) Object 282 GuardToFunction ← Unbox#281 Object 283 GuardFunctionScript ← GuardToFunction#282 Object 284 Goto → block 34 Block 34 285 Constant undefined Undefined 286 Constant 0x32 Int32 287 Unbox LoadElement#279 to Double (fallible) Double 288 Compare ← Unbox#287, Constant#286 Gt Bool 290 Goto → block 35 Block 35 291 Test ← Compare#288 → block 36, block 42 1 0 Block 42 (split edge) 328 Goto → block 37 Block 36 292 Unbox Phi#252 to Int32 (fallible) Int32 293 Constant 0x1 Int32 294 Add ← Unbox#292, Constant#293 [int32] Int32 295 Unbox Phi#250 to Object (fallible) Object 296 GuardShape ← Unbox#295 Object 297 Elements ← GuardShape#296 Elements 298 StoreElementHole ← GuardShape#296, Elements#297, Unbox#292, LoadElement#279 299 Goto → block 37 Block 37 (backedge) 300 Phi ← Add#294, Phi#252, Phi#252 Value 301 Phi ← LoadElement#279, Phi#253, LoadElement#279 Value 302 Unbox Phi#251 to Int32 (fallible) Int32 303 Constant 0x1 Int32 304 Add ← Unbox#302, Constant#303 [int32] Int32 305 Goto → block 31 Block 39 308 Unbox Phi#250 to Object (fallible) Object 309 GuardShape ← Unbox#308 Object 310 Constant object 104289c3e088 (Array) Object 311 Constant function reduce (self-hosted:205) at 104289c479c0 Object 312 Constant function complex4/< (-e:18) at 104289c63d98 Object 313 Lambda ← FunctionEnvironment#6, Constant#312 Object 314 Constant 0x0 Int32 315 Constant 0x2 Int32 316 Constant function reduce (self-hosted:205) at 104289c479c0 Object 317 GuardSpecificFunction ← Constant#311, Constant#316 Object 318 Call ← GuardSpecificFunction#317, Phi#250, Lambda#313, Constant#314 Value 319 Return ← Call#318
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 9 Constant object 104289c3e088 (Array) Object 10 Constant function map (self-hosted:163) at 104289c47920 Object 11 Constant function complex4/< (-e:18) at 104289c63d28 Object 12 Lambda ← FunctionEnvironment#6, Constant#11 Object 13 Constant 0x1 Int32 14 Constant function map (self-hosted:163) at 104289c47920 Object 15 GuardSpecificFunction ← Constant#10, Constant#14 Object 16 Goto → block 1 Block 1 17 Constant undefined Undefined 18 Constant function ToObject at 104289c6c740 Object 19 DebugCheckSelfHosted ← Constant#18 Value 20 Constant undefined Undefined 21 Constant 0x1 Int32 22 Unbox Parameter#1 to Object (fallible) Object 23 Constant function ToLength at 104289c6c778 Object 24 DebugCheckSelfHosted ← Constant#23 Value 25 Constant undefined Undefined 26 GuardShape ← Unbox#22 Object 27 Elements ← GuardShape#26 Elements 28 ArrayLength ← Elements#27 Int32 29 Constant 0x1 Int32 30 Constant 0x0 Int32 31 MinMax ← ArrayLength#28, Constant#30 (max) Int32 32 Constant 0x1 Int32 33 Constant 0x0 Int32 34 Compare ← Constant#32, Constant#33 StrictEq Bool 35 Test ← Compare#34 → block 2, block 3 1 0 Block 2 36 CallGetIntrinsicValue Value 37 DebugCheckSelfHosted ← CallGetIntrinsicValue#36 Value 38 Constant undefined Undefined 39 Constant 0x37 Int32 40 Constant 0x0 Int32 41 Constant string 104289c2e080 String 42 Bail 325 Unreachable Block 3 45 Constant function IsCallable at 104289c6c7b0 Object 46 DebugCheckSelfHosted ← Constant#45 Value 47 Constant undefined Undefined 48 Constant 0x1 Int32 49 IsCallable ← Lambda#12 Bool 50 Test ← IsCallable#49 → block 5, block 4 1 0 Block 4 51 CallGetIntrinsicValue Value 52 DebugCheckSelfHosted ← CallGetIntrinsicValue#51 Value 53 Constant undefined Undefined 54 Constant 0xc Int32 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Constant undefined Undefined 58 Constant 0x0 Int32 59 Bail 324 Unreachable Block 5 64 Constant 0x1 Int32 65 Constant 0x1 Int32 66 Compare ← Constant#64, Constant#65 Gt Bool 67 Test ← Compare#66 → block 6, block 7 1 0 Block 6 68 Constant 0x1 Int32 69 GetInlinedArgument ← Constant#68, Lambda#12 Value 70 Goto → block 8 Block 7 71 Constant undefined Undefined 72 Goto → block 8 Block 8 73 Phi ← Constant#71, GetInlinedArgument#69 Value 74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 75 DebugCheckSelfHosted ← Constant#74 Value 76 Constant undefined Undefined 77 Constant 0x1 Int32 78 HasShape ← Unbox#22 Bool 79 Test ← HasShape#78 → block 9, block 10 1 0 Block 9 80 Constant function std_Array at 104289c6c820 Object 81 DebugCheckSelfHosted ← Constant#80 Value 82 Constant undefined Undefined 83 Constant 0x1 Int32 84 Unbox DebugCheckSelfHosted#81 to Object (fallible) Object 85 Constant function std_Array at 104289c6c820 Object 86 GuardSpecificFunction ← Unbox#84, Constant#85 Object 87 NewArrayDynamicLength ← MinMax#31 Object 88 Goto → block 11 Block 10 89 CallGetIntrinsicValue Value 90 DebugCheckSelfHosted ← CallGetIntrinsicValue#89 Value 91 Constant undefined Undefined 92 Bail 323 Unreachable Block 11 95 Phi ← NewArrayDynamicLength#87 Value 96 Constant 0x0 Int32 108 Goto → block 12 Block 12 (loop header) 97 Phi ← Constant#17, Constant#17 Value 98 Phi ← Constant#17, Constant#17 Value 99 Phi ← Parameter#1, Parameter#1 Value 100 Phi ← Lambda#12, Lambda#12 Value 101 Phi ← Unbox#22, Unbox#22 Value 102 Phi ← MinMax#31, MinMax#31 Value 103 Phi ← Phi#73, Phi#73 Value 104 Phi ← Phi#95, Phi#95 Value 105 Phi ← Constant#96, Add#153 Value 106 Phi ← Constant#17, Phi#150 Value 107 Phi ← Parameter#1, Parameter#1 Value 109 InterruptCheck 110 Unbox Phi#105 to Int32 (fallible) Int32 111 Unbox Phi#102 to Int32 (fallible) Int32 112 Compare ← Unbox#110, Unbox#111 Lt Bool 113 Test ← Compare#112 → block 13, block 19 1 0 Block 13 114 Unbox Phi#101 to Object (fallible) Object 115 Unbox Phi#105 to Int32 (fallible) Int32 116 GuardShape ← Unbox#114 Object 117 Elements ← GuardShape#116 Elements 118 InitializedLength ← Elements#117 Int32 119 BoundsCheck ← Unbox#115, InitializedLength#118 Int32 120 SpectreMaskIndex ← BoundsCheck#119, InitializedLength#118 Int32 121 GuardElementNotHole ← Elements#117, SpectreMaskIndex#120 122 Constant true Bool 123 Test ← Constant#122 → block 15, block 14 1 0 Block 14 (split edge) 326 Goto → block 18 Block 15 124 Unbox Phi#101 to Object (fallible) Object 125 Unbox Phi#105 to Int32 (fallible) Int32 126 GuardShape ← Unbox#124 Object 127 Elements ← GuardShape#126 Elements 128 InitializedLength ← Elements#127 Int32 129 BoundsCheck ← Unbox#125, InitializedLength#128 Int32 130 SpectreMaskIndex ← BoundsCheck#129, InitializedLength#128 Int32 131 GuardElementsArePacked ← Elements#127 132 LoadElement ← Elements#127, SpectreMaskIndex#130 Value 133 Constant 0x3 Int32 134 Unbox Phi#100 to Object (fallible) Object 135 GuardToFunction ← Unbox#134 Object 136 GuardFunctionScript ← GuardToFunction#135 Object 137 Goto → block 16 Block 16 138 Constant undefined Undefined 139 Constant 0x2 Int32 140 Unbox LoadElement#132 to Double (fallible) Double 141 Mul ← Unbox#140, Constant#139 [double] Double 143 Goto → block 17 Block 17 144 Unbox Phi#104 to Object (fallible) Object 145 Unbox Phi#105 to Int32 (fallible) Int32 146 GuardShape ← Unbox#144 Object 147 Elements ← GuardShape#146 Elements 148 StoreElementHole ← GuardShape#146, Elements#147, Unbox#145, Mul#141 149 Goto → block 18 Block 18 (backedge) 150 Phi ← Mul#141, Phi#106 Value 151 Unbox Phi#105 to Int32 (fallible) Int32 152 Constant 0x1 Int32 153 Add ← Unbox#151, Constant#152 [int32] Int32 154 Goto → block 12 Block 19 157 Unbox Phi#104 to Object (fallible) Object 158 GuardShape ← Unbox#157 Object 159 Constant object 104289c3e088 (Array) Object 160 Constant function filter (self-hosted:183) at 104289c47970 Object 161 Constant function complex4/< (-e:18) at 104289c63d60 Object 162 Lambda ← FunctionEnvironment#6, Constant#161 Object 163 Constant 0x1 Int32 164 Constant function filter (self-hosted:183) at 104289c47970 Object 165 GuardSpecificFunction ← Constant#160, Constant#164 Object 166 Goto → block 20 Block 20 167 Constant undefined Undefined 168 Constant function ToObject at 104289c6c740 Object 169 DebugCheckSelfHosted ← Constant#168 Value 170 Constant undefined Undefined 171 Constant 0x1 Int32 172 Unbox Phi#104 to Object (fallible) Object 173 Constant function ToLength at 104289c6c778 Object 174 DebugCheckSelfHosted ← Constant#173 Value 175 Constant undefined Undefined 176 GuardShape ← Unbox#172 Object 177 Elements ← GuardShape#176 Elements 178 ArrayLength ← Elements#177 Int32 179 Constant 0x1 Int32 180 Constant 0x0 Int32 181 MinMax ← ArrayLength#178, Constant#180 (max) Int32 182 Constant 0x1 Int32 183 Constant 0x0 Int32 184 Compare ← Constant#182, Constant#183 StrictEq Bool 185 Test ← Compare#184 → block 21, block 22 1 0 Block 21 186 CallGetIntrinsicValue Value 187 DebugCheckSelfHosted ← CallGetIntrinsicValue#186 Value 188 Constant undefined Undefined 189 Constant 0x37 Int32 190 Constant 0x0 Int32 191 Constant string 104289c28540 String 192 Bail 322 Unreachable Block 22 195 Constant function IsCallable at 104289c6c7b0 Object 196 DebugCheckSelfHosted ← Constant#195 Value 197 Constant undefined Undefined 198 Constant 0x1 Int32 199 IsCallable ← Lambda#162 Bool 200 Test ← IsCallable#199 → block 24, block 23 1 0 Block 23 201 CallGetIntrinsicValue Value 202 DebugCheckSelfHosted ← CallGetIntrinsicValue#201 Value 203 Constant undefined Undefined 204 Constant 0xc Int32 205 CallGetIntrinsicValue Value 206 DebugCheckSelfHosted ← CallGetIntrinsicValue#205 Value 207 Constant undefined Undefined 208 Constant 0x0 Int32 209 Bail 321 Unreachable Block 24 214 Constant 0x1 Int32 215 Constant 0x1 Int32 216 Compare ← Constant#214, Constant#215 Gt Bool 217 Test ← Compare#216 → block 25, block 26 1 0 Block 25 218 Constant 0x1 Int32 219 GetInlinedArgument ← Constant#218, Lambda#162 Value 220 Goto → block 27 Block 26 221 Constant undefined Undefined 222 Goto → block 27 Block 27 223 Phi ← Constant#221, GetInlinedArgument#219 Value 224 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 225 DebugCheckSelfHosted ← Constant#224 Value 226 Constant undefined Undefined 227 Constant 0x1 Int32 228 HasShape ← Unbox#172 Bool 229 Test ← HasShape#228 → block 28, block 29 1 0 Block 28 230 Constant shape at 104289c64f00 Shape 231 NewArrayObject ← Constant#230 Object 232 Goto → block 30 Block 29 233 CallGetIntrinsicValue Value 234 DebugCheckSelfHosted ← CallGetIntrinsicValue#233 Value 235 Constant undefined Undefined 236 Constant 0x0 Int32 237 Bail 320 Unreachable Block 30 240 Phi ← NewArrayObject#231 Value 241 Constant 0x0 Int32 242 Constant 0x0 Int32 255 Goto → block 31 Block 31 (loop header) 243 Phi ← Constant#167, Constant#167 Value 244 Phi ← Constant#167, Constant#167 Value 245 Phi ← Phi#104, Phi#104 Value 246 Phi ← Lambda#162, Lambda#162 Value 247 Phi ← Unbox#172, Unbox#172 Value 248 Phi ← MinMax#181, MinMax#181 Value 249 Phi ← Phi#223, Phi#223 Value 250 Phi ← Phi#240, Phi#240 Value 251 Phi ← Constant#241, Add#304 Value 252 Phi ← Constant#242, Phi#300 Value 253 Phi ← Constant#167, Phi#301 Value 254 Phi ← Phi#104, Phi#104 Value 256 InterruptCheck 257 Unbox Phi#251 to Int32 (fallible) Int32 258 Unbox Phi#248 to Int32 (fallible) Int32 259 Compare ← Unbox#257, Unbox#258 Lt Bool 260 Test ← Compare#259 → block 32, block 40 1 0 Block 32 261 Unbox Phi#247 to Object (fallible) Object 262 Unbox Phi#251 to Int32 (fallible) Int32 263 GuardShape ← Unbox#261 Object 264 Elements ← GuardShape#263 Elements 265 InitializedLength ← Elements#264 Int32 266 BoundsCheck ← Unbox#262, InitializedLength#265 Int32 267 SpectreMaskIndex ← BoundsCheck#266, InitializedLength#265 Int32 268 GuardElementNotHole ← Elements#264, SpectreMaskIndex#267 269 Constant true Bool 270 Test ← Constant#269 → block 34, block 33 1 0 Block 33 (split edge) 327 Goto → block 39 Block 34 271 Unbox Phi#247 to Object (fallible) Object 272 Unbox Phi#251 to Int32 (fallible) Int32 273 GuardShape ← Unbox#271 Object 274 Elements ← GuardShape#273 Elements 275 InitializedLength ← Elements#274 Int32 276 BoundsCheck ← Unbox#272, InitializedLength#275 Int32 277 SpectreMaskIndex ← BoundsCheck#276, InitializedLength#275 Int32 278 GuardElementsArePacked ← Elements#274 279 LoadElement ← Elements#274, SpectreMaskIndex#277 Value 280 Constant 0x3 Int32 281 Unbox Phi#246 to Object (fallible) Object 282 GuardToFunction ← Unbox#281 Object 283 GuardFunctionScript ← GuardToFunction#282 Object 284 Goto → block 35 Block 35 285 Constant undefined Undefined 286 Constant 0x32 Int32 287 Unbox LoadElement#279 to Double (fallible) Double 288 Compare ← Unbox#287, Constant#286 Gt Bool 290 Goto → block 36 Block 36 291 Test ← Compare#288 → block 38, block 37 1 0 Block 37 (split edge) 328 Goto → block 39 Block 38 292 Unbox Phi#252 to Int32 (fallible) Int32 293 Constant 0x1 Int32 294 Add ← Unbox#292, Constant#293 [int32] Int32 295 Unbox Phi#250 to Object (fallible) Object 296 GuardShape ← Unbox#295 Object 297 Elements ← GuardShape#296 Elements 298 StoreElementHole ← GuardShape#296, Elements#297, Unbox#292, LoadElement#279 299 Goto → block 39 Block 39 (backedge) 300 Phi ← Add#294, Phi#252, Phi#252 Value 301 Phi ← LoadElement#279, Phi#253, LoadElement#279 Value 302 Unbox Phi#251 to Int32 (fallible) Int32 303 Constant 0x1 Int32 304 Add ← Unbox#302, Constant#303 [int32] Int32 305 Goto → block 31 Block 40 308 Unbox Phi#250 to Object (fallible) Object 309 GuardShape ← Unbox#308 Object 310 Constant object 104289c3e088 (Array) Object 311 Constant function reduce (self-hosted:205) at 104289c479c0 Object 312 Constant function complex4/< (-e:18) at 104289c63d98 Object 313 Lambda ← FunctionEnvironment#6, Constant#312 Object 314 Constant 0x0 Int32 315 Constant 0x2 Int32 316 Constant function reduce (self-hosted:205) at 104289c479c0 Object 317 GuardSpecificFunction ← Constant#311, Constant#316 Object 318 Call ← GuardSpecificFunction#317, Phi#250, Lambda#313, Constant#314 Value 319 Return ← Call#318
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 9 Constant object 104289c3e088 (Array) Object 10 Constant function map (self-hosted:163) at 104289c47920 Object 11 Constant function complex4/< (-e:18) at 104289c63d28 Object 12 Lambda ← FunctionEnvironment#6, Constant#11 Object 13 Constant 0x1 Int32 14 Constant function map (self-hosted:163) at 104289c47920 Object 15 GuardSpecificFunction ← Constant#10, Constant#14 Object 16 Goto → block 1 Block 1 17 Constant undefined Undefined 18 Constant function ToObject at 104289c6c740 Object 19 DebugCheckSelfHosted ← Constant#18 Value 20 Constant undefined Undefined 21 Constant 0x1 Int32 22 Unbox Parameter#1 to Object (fallible) Object 23 Constant function ToLength at 104289c6c778 Object 24 DebugCheckSelfHosted ← Constant#23 Value 25 Constant undefined Undefined 26 GuardShape ← Unbox#22 Object 27 Elements ← GuardShape#26 Elements 28 ArrayLength ← Elements#27 Int32 29 Constant 0x1 Int32 30 Constant 0x0 Int32 31 MinMax ← ArrayLength#28, Constant#30 (max) Int32 32 Constant 0x1 Int32 33 Constant 0x0 Int32 34 Compare ← Constant#32, Constant#33 StrictEq Bool 35 Test ← Compare#34 → block 2, block 3 1 0 Block 2 36 CallGetIntrinsicValue Value 37 DebugCheckSelfHosted ← CallGetIntrinsicValue#36 Value 38 Constant undefined Undefined 39 Constant 0x37 Int32 40 Constant 0x0 Int32 41 Constant string 104289c2e080 String 42 Bail 325 Unreachable Block 3 45 Constant function IsCallable at 104289c6c7b0 Object 46 DebugCheckSelfHosted ← Constant#45 Value 47 Constant undefined Undefined 48 Constant 0x1 Int32 49 IsCallable ← Lambda#12 Bool 50 Test ← IsCallable#49 → block 5, block 4 1 0 Block 4 51 CallGetIntrinsicValue Value 52 DebugCheckSelfHosted ← CallGetIntrinsicValue#51 Value 53 Constant undefined Undefined 54 Constant 0xc Int32 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Constant undefined Undefined 58 Constant 0x0 Int32 59 Bail 324 Unreachable Block 5 64 Constant 0x1 Int32 65 Constant 0x1 Int32 66 Compare ← Constant#64, Constant#65 Gt Bool 67 Test ← Compare#66 → block 6, block 7 1 0 Block 6 68 Constant 0x1 Int32 69 GetInlinedArgument ← Constant#68, Lambda#12 Value 70 Goto → block 8 Block 7 71 Constant undefined Undefined 72 Goto → block 8 Block 8 73 Phi ← Constant#71, GetInlinedArgument#69 Value 74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 75 DebugCheckSelfHosted ← Constant#74 Value 76 Constant undefined Undefined 77 Constant 0x1 Int32 78 HasShape ← Unbox#22 Bool 79 Test ← HasShape#78 → block 9, block 10 1 0 Block 9 80 Constant function std_Array at 104289c6c820 Object 81 DebugCheckSelfHosted ← Constant#80 Value 82 Constant undefined Undefined 83 Constant 0x1 Int32 84 Unbox DebugCheckSelfHosted#81 to Object (fallible) Object 85 Constant function std_Array at 104289c6c820 Object 86 GuardSpecificFunction ← Unbox#84, Constant#85 Object 87 NewArrayDynamicLength ← MinMax#31 Object 88 Goto → block 11 Block 10 89 CallGetIntrinsicValue Value 90 DebugCheckSelfHosted ← CallGetIntrinsicValue#89 Value 91 Constant undefined Undefined 92 Bail 323 Unreachable Block 11 96 Constant 0x0 Int32 108 Goto → block 12 Block 12 (loop header) 105 Phi ← Constant#96, Add#153 Value 334 Constant magic optimized-out MagicOptimizedOut 109 InterruptCheck 110 Unbox Phi#105 to Int32 (fallible) Int32 111 Unbox MinMax#31 to Int32 (fallible) Int32 112 Compare ← Unbox#110, Unbox#111 Lt Bool 113 Test ← Compare#112 → block 13, block 19 1 0 Block 13 339 Constant magic optimized-out MagicOptimizedOut 114 Unbox Unbox#22 to Object (fallible) Object 115 Unbox Phi#105 to Int32 (fallible) Int32 116 GuardShape ← Unbox#114 Object 117 Elements ← GuardShape#116 Elements 118 InitializedLength ← Elements#117 Int32 119 BoundsCheck ← Unbox#115, InitializedLength#118 Int32 120 SpectreMaskIndex ← BoundsCheck#119, InitializedLength#118 Int32 121 GuardElementNotHole ← Elements#117, SpectreMaskIndex#120 122 Constant true Bool 123 Test ← Constant#122 → block 15, block 14 1 0 Block 14 (split edge) 336 Constant magic optimized-out MagicOptimizedOut 326 Goto → block 18 Block 15 338 Constant magic optimized-out MagicOptimizedOut 124 Unbox Unbox#22 to Object (fallible) Object 125 Unbox Phi#105 to Int32 (fallible) Int32 126 GuardShape ← Unbox#124 Object 127 Elements ← GuardShape#126 Elements 128 InitializedLength ← Elements#127 Int32 129 BoundsCheck ← Unbox#125, InitializedLength#128 Int32 130 SpectreMaskIndex ← BoundsCheck#129, InitializedLength#128 Int32 131 GuardElementsArePacked ← Elements#127 132 LoadElement ← Elements#127, SpectreMaskIndex#130 Value 133 Constant 0x3 Int32 134 Unbox Lambda#12 to Object (fallible) Object 135 GuardToFunction ← Unbox#134 Object 136 GuardFunctionScript ← GuardToFunction#135 Object 137 Goto → block 16 Block 16 138 Constant undefined Undefined 139 Constant 0x2 Int32 140 Unbox LoadElement#132 to Double (fallible) Double 141 Mul ← Unbox#140, Constant#139 [double] Double 143 Goto → block 17 Block 17 337 Constant magic optimized-out MagicOptimizedOut 144 Unbox NewArrayDynamicLength#87 to Object (fallible) Object 145 Unbox Phi#105 to Int32 (fallible) Int32 146 GuardShape ← Unbox#144 Object 147 Elements ← GuardShape#146 Elements 148 StoreElementHole ← GuardShape#146, Elements#147, Unbox#145, Mul#141 149 Goto → block 18 Block 18 (backedge) 335 Constant magic optimized-out MagicOptimizedOut 151 Unbox Phi#105 to Int32 (fallible) Int32 152 Constant 0x1 Int32 153 Add ← Unbox#151, Constant#152 [int32] Int32 154 Goto → block 12 Block 19 157 Unbox NewArrayDynamicLength#87 to Object (fallible) Object 158 GuardShape ← Unbox#157 Object 159 Constant object 104289c3e088 (Array) Object 160 Constant function filter (self-hosted:183) at 104289c47970 Object 161 Constant function complex4/< (-e:18) at 104289c63d60 Object 162 Lambda ← FunctionEnvironment#6, Constant#161 Object 163 Constant 0x1 Int32 164 Constant function filter (self-hosted:183) at 104289c47970 Object 165 GuardSpecificFunction ← Constant#160, Constant#164 Object 166 Goto → block 20 Block 20 167 Constant undefined Undefined 168 Constant function ToObject at 104289c6c740 Object 169 DebugCheckSelfHosted ← Constant#168 Value 170 Constant undefined Undefined 171 Constant 0x1 Int32 172 Unbox NewArrayDynamicLength#87 to Object (fallible) Object 173 Constant function ToLength at 104289c6c778 Object 174 DebugCheckSelfHosted ← Constant#173 Value 175 Constant undefined Undefined 176 GuardShape ← Unbox#172 Object 177 Elements ← GuardShape#176 Elements 178 ArrayLength ← Elements#177 Int32 179 Constant 0x1 Int32 180 Constant 0x0 Int32 181 MinMax ← ArrayLength#178, Constant#180 (max) Int32 182 Constant 0x1 Int32 183 Constant 0x0 Int32 184 Compare ← Constant#182, Constant#183 StrictEq Bool 185 Test ← Compare#184 → block 21, block 22 1 0 Block 21 186 CallGetIntrinsicValue Value 187 DebugCheckSelfHosted ← CallGetIntrinsicValue#186 Value 188 Constant undefined Undefined 189 Constant 0x37 Int32 190 Constant 0x0 Int32 191 Constant string 104289c28540 String 192 Bail 322 Unreachable Block 22 195 Constant function IsCallable at 104289c6c7b0 Object 196 DebugCheckSelfHosted ← Constant#195 Value 197 Constant undefined Undefined 198 Constant 0x1 Int32 199 IsCallable ← Lambda#162 Bool 200 Test ← IsCallable#199 → block 24, block 23 1 0 Block 23 201 CallGetIntrinsicValue Value 202 DebugCheckSelfHosted ← CallGetIntrinsicValue#201 Value 203 Constant undefined Undefined 204 Constant 0xc Int32 205 CallGetIntrinsicValue Value 206 DebugCheckSelfHosted ← CallGetIntrinsicValue#205 Value 207 Constant undefined Undefined 208 Constant 0x0 Int32 209 Bail 321 Unreachable Block 24 214 Constant 0x1 Int32 215 Constant 0x1 Int32 216 Compare ← Constant#214, Constant#215 Gt Bool 217 Test ← Compare#216 → block 25, block 26 1 0 Block 25 218 Constant 0x1 Int32 219 GetInlinedArgument ← Constant#218, Lambda#162 Value 220 Goto → block 27 Block 26 221 Constant undefined Undefined 222 Goto → block 27 Block 27 223 Phi ← Constant#221, GetInlinedArgument#219 Value 224 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 225 DebugCheckSelfHosted ← Constant#224 Value 226 Constant undefined Undefined 227 Constant 0x1 Int32 228 HasShape ← Unbox#172 Bool 229 Test ← HasShape#228 → block 28, block 29 1 0 Block 28 230 Constant shape at 104289c64f00 Shape 231 NewArrayObject ← Constant#230 Object 232 Goto → block 30 Block 29 233 CallGetIntrinsicValue Value 234 DebugCheckSelfHosted ← CallGetIntrinsicValue#233 Value 235 Constant undefined Undefined 236 Constant 0x0 Int32 237 Bail 320 Unreachable Block 30 241 Constant 0x0 Int32 242 Constant 0x0 Int32 255 Goto → block 31 Block 31 (loop header) 251 Phi ← Constant#241, Add#304 Value 252 Phi ← Constant#242, Phi#300 Value 329 Constant magic optimized-out MagicOptimizedOut 256 InterruptCheck 257 Unbox Phi#251 to Int32 (fallible) Int32 258 Unbox MinMax#181 to Int32 (fallible) Int32 259 Compare ← Unbox#257, Unbox#258 Lt Bool 260 Test ← Compare#259 → block 32, block 40 1 0 Block 32 333 Constant magic optimized-out MagicOptimizedOut 261 Unbox Unbox#172 to Object (fallible) Object 262 Unbox Phi#251 to Int32 (fallible) Int32 263 GuardShape ← Unbox#261 Object 264 Elements ← GuardShape#263 Elements 265 InitializedLength ← Elements#264 Int32 266 BoundsCheck ← Unbox#262, InitializedLength#265 Int32 267 SpectreMaskIndex ← BoundsCheck#266, InitializedLength#265 Int32 268 GuardElementNotHole ← Elements#264, SpectreMaskIndex#267 269 Constant true Bool 270 Test ← Constant#269 → block 34, block 33 1 0 Block 33 (split edge) 331 Constant magic optimized-out MagicOptimizedOut 327 Goto → block 39 Block 34 332 Constant magic optimized-out MagicOptimizedOut 271 Unbox Unbox#172 to Object (fallible) Object 272 Unbox Phi#251 to Int32 (fallible) Int32 273 GuardShape ← Unbox#271 Object 274 Elements ← GuardShape#273 Elements 275 InitializedLength ← Elements#274 Int32 276 BoundsCheck ← Unbox#272, InitializedLength#275 Int32 277 SpectreMaskIndex ← BoundsCheck#276, InitializedLength#275 Int32 278 GuardElementsArePacked ← Elements#274 279 LoadElement ← Elements#274, SpectreMaskIndex#277 Value 280 Constant 0x3 Int32 281 Unbox Lambda#162 to Object (fallible) Object 282 GuardToFunction ← Unbox#281 Object 283 GuardFunctionScript ← GuardToFunction#282 Object 284 Goto → block 35 Block 35 285 Constant undefined Undefined 286 Constant 0x32 Int32 287 Unbox LoadElement#279 to Double (fallible) Double 288 Compare ← Unbox#287, Constant#286 Gt Bool 290 Goto → block 36 Block 36 291 Test ← Compare#288 → block 38, block 37 1 0 Block 37 (split edge) 328 Goto → block 39 Block 38 292 Unbox Phi#252 to Int32 (fallible) Int32 293 Constant 0x1 Int32 294 Add ← Unbox#292, Constant#293 [int32] Int32 295 Unbox NewArrayObject#231 to Object (fallible) Object 296 GuardShape ← Unbox#295 Object 297 Elements ← GuardShape#296 Elements 298 StoreElementHole ← GuardShape#296, Elements#297, Unbox#292, LoadElement#279 299 Goto → block 39 Block 39 (backedge) 300 Phi ← Add#294, Phi#252, Phi#252 Value 330 Constant magic optimized-out MagicOptimizedOut 302 Unbox Phi#251 to Int32 (fallible) Int32 303 Constant 0x1 Int32 304 Add ← Unbox#302, Constant#303 [int32] Int32 305 Goto → block 31 Block 40 308 Unbox NewArrayObject#231 to Object (fallible) Object 309 GuardShape ← Unbox#308 Object 310 Constant object 104289c3e088 (Array) Object 311 Constant function reduce (self-hosted:205) at 104289c479c0 Object 312 Constant function complex4/< (-e:18) at 104289c63d98 Object 313 Lambda ← FunctionEnvironment#6, Constant#312 Object 314 Constant 0x0 Int32 315 Constant 0x2 Int32 316 Constant function reduce (self-hosted:205) at 104289c479c0 Object 317 GuardSpecificFunction ← Constant#311, Constant#316 Object 318 Call ← GuardSpecificFunction#317, NewArrayObject#231, Lambda#313, Constant#314 Value 319 Return ← Call#318
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 9 Constant object 104289c3e088 (Array) Object 10 Constant function map (self-hosted:163) at 104289c47920 Object 11 Constant function complex4/< (-e:18) at 104289c63d28 Object 12 Lambda ← FunctionEnvironment#6, Constant#11 Object 13 Constant 0x1 Int32 14 Constant function map (self-hosted:163) at 104289c47920 Object 15 GuardSpecificFunction ← Constant#10, Constant#14 Object 16 Goto → block 1 Block 1 17 Constant undefined Undefined 18 Constant function ToObject at 104289c6c740 Object 19 DebugCheckSelfHosted ← Constant#18 Value 20 Constant undefined Undefined 21 Constant 0x1 Int32 22 Unbox Parameter#1 to Object (fallible) Object 23 Constant function ToLength at 104289c6c778 Object 24 DebugCheckSelfHosted ← Constant#23 Value 25 Constant undefined Undefined 26 GuardShape ← Unbox#22 Object 27 Elements ← GuardShape#26 Elements 28 ArrayLength ← Elements#27 Int32 29 Constant 0x1 Int32 30 Constant 0x0 Int32 31 MinMax ← ArrayLength#28, Constant#30 (max) Int32 32 Constant 0x1 Int32 33 Constant 0x0 Int32 34 Compare ← Constant#32, Constant#33 StrictEq Bool 35 Test ← Compare#34 → block 2, block 3 1 0 Block 2 36 CallGetIntrinsicValue Value 37 DebugCheckSelfHosted ← CallGetIntrinsicValue#36 Value 38 Constant undefined Undefined 39 Constant 0x37 Int32 40 Constant 0x0 Int32 41 Constant string 104289c2e080 String 42 Bail 325 Unreachable Block 3 45 Constant function IsCallable at 104289c6c7b0 Object 46 DebugCheckSelfHosted ← Constant#45 Value 47 Constant undefined Undefined 48 Constant 0x1 Int32 49 IsCallable ← Lambda#12 Bool 50 Test ← IsCallable#49 → block 5, block 4 1 0 Block 4 51 CallGetIntrinsicValue Value 52 DebugCheckSelfHosted ← CallGetIntrinsicValue#51 Value 53 Constant undefined Undefined 54 Constant 0xc Int32 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Constant undefined Undefined 58 Constant 0x0 Int32 59 Bail 324 Unreachable Block 5 64 Constant 0x1 Int32 65 Constant 0x1 Int32 66 Compare ← Constant#64, Constant#65 Gt Bool 67 Test ← Compare#66 → block 6, block 7 1 0 Block 6 68 Constant 0x1 Int32 69 GetInlinedArgument ← Constant#68, Lambda#12 Value 70 Goto → block 8 Block 7 71 Constant undefined Undefined 72 Goto → block 8 Block 8 73 Phi ← Constant#71, GetInlinedArgument#69 Value 74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 75 DebugCheckSelfHosted ← Constant#74 Value 76 Constant undefined Undefined 77 Constant 0x1 Int32 78 HasShape ← Unbox#22 Bool 79 Test ← HasShape#78 → block 9, block 10 1 0 Block 9 80 Constant function std_Array at 104289c6c820 Object 81 DebugCheckSelfHosted ← Constant#80 Value 82 Constant undefined Undefined 83 Constant 0x1 Int32 84 Unbox DebugCheckSelfHosted#81 to Object (fallible) Object 85 Constant function std_Array at 104289c6c820 Object 86 GuardSpecificFunction ← Unbox#84, Constant#85 Object 87 NewArrayDynamicLength ← MinMax#31 Object 88 Goto → block 11 Block 10 89 CallGetIntrinsicValue Value 90 DebugCheckSelfHosted ← CallGetIntrinsicValue#89 Value 91 Constant undefined Undefined 92 Bail 323 Unreachable Block 11 96 Constant 0x0 Int32 108 Goto → block 12 Block 12 (loop header) 105 Phi ← Constant#96, Add#153 Value 334 Constant magic optimized-out MagicOptimizedOut 109 InterruptCheck 110 Unbox Phi#105 to Int32 (fallible) Int32 111 Unbox MinMax#31 to Int32 (fallible) Int32 112 Compare ← Unbox#110, Unbox#111 Lt Bool 113 Test ← Compare#112 → block 13, block 19 1 0 Block 13 339 Constant magic optimized-out MagicOptimizedOut 114 Unbox Unbox#22 to Object (fallible) Object 115 Unbox Phi#105 to Int32 (fallible) Int32 116 GuardShape ← Unbox#114 Object 117 Elements ← GuardShape#116 Elements 118 InitializedLength ← Elements#117 Int32 119 BoundsCheck ← Unbox#115, InitializedLength#118 Int32 120 SpectreMaskIndex ← BoundsCheck#119, InitializedLength#118 Int32 121 GuardElementNotHole ← Elements#117, SpectreMaskIndex#120 122 Constant true Bool 123 Test ← Constant#122 → block 15, block 14 1 0 Block 14 (split edge) 336 Constant magic optimized-out MagicOptimizedOut 326 Goto → block 18 Block 15 338 Constant magic optimized-out MagicOptimizedOut 124 Unbox Unbox#22 to Object (fallible) Object 125 Unbox Phi#105 to Int32 (fallible) Int32 126 GuardShape ← Unbox#124 Object 127 Elements ← GuardShape#126 Elements 128 InitializedLength ← Elements#127 Int32 129 BoundsCheck ← Unbox#125, InitializedLength#128 Int32 130 SpectreMaskIndex ← BoundsCheck#129, InitializedLength#128 Int32 131 GuardElementsArePacked ← Elements#127 132 LoadElement ← Elements#127, SpectreMaskIndex#130 Value 133 Constant 0x3 Int32 134 Unbox Lambda#12 to Object (fallible) Object 135 GuardToFunction ← Unbox#134 Object 136 GuardFunctionScript ← GuardToFunction#135 Object 137 Goto → block 16 Block 16 138 Constant undefined Undefined 139 Constant 0x2 Int32 140 Unbox LoadElement#132 to Double (fallible) Double 141 Mul ← Unbox#140, Constant#139 [double] Double 143 Goto → block 17 Block 17 337 Constant magic optimized-out MagicOptimizedOut 144 Unbox NewArrayDynamicLength#87 to Object (fallible) Object 145 Unbox Phi#105 to Int32 (fallible) Int32 146 GuardShape ← Unbox#144 Object 147 Elements ← GuardShape#146 Elements 148 StoreElementHole ← GuardShape#146, Elements#147, Unbox#145, Mul#141 149 Goto → block 18 Block 18 (backedge) 335 Constant magic optimized-out MagicOptimizedOut 151 Unbox Phi#105 to Int32 (fallible) Int32 152 Constant 0x1 Int32 153 Add ← Unbox#151, Constant#152 [int32] Int32 154 Goto → block 12 Block 19 157 Unbox NewArrayDynamicLength#87 to Object (fallible) Object 158 GuardShape ← Unbox#157 Object 159 Constant object 104289c3e088 (Array) Object 160 Constant function filter (self-hosted:183) at 104289c47970 Object 161 Constant function complex4/< (-e:18) at 104289c63d60 Object 162 Lambda ← FunctionEnvironment#6, Constant#161 Object 163 Constant 0x1 Int32 164 Constant function filter (self-hosted:183) at 104289c47970 Object 165 GuardSpecificFunction ← Constant#160, Constant#164 Object 166 Goto → block 20 Block 20 167 Constant undefined Undefined 168 Constant function ToObject at 104289c6c740 Object 169 DebugCheckSelfHosted ← Constant#168 Value 170 Constant undefined Undefined 171 Constant 0x1 Int32 172 Unbox NewArrayDynamicLength#87 to Object (fallible) Object 173 Constant function ToLength at 104289c6c778 Object 174 DebugCheckSelfHosted ← Constant#173 Value 175 Constant undefined Undefined 176 GuardShape ← Unbox#172 Object 177 Elements ← GuardShape#176 Elements 178 ArrayLength ← Elements#177 Int32 179 Constant 0x1 Int32 180 Constant 0x0 Int32 181 MinMax ← ArrayLength#178, Constant#180 (max) Int32 182 Constant 0x1 Int32 183 Constant 0x0 Int32 184 Compare ← Constant#182, Constant#183 StrictEq Bool 185 Test ← Compare#184 → block 21, block 22 1 0 Block 21 186 CallGetIntrinsicValue Value 187 DebugCheckSelfHosted ← CallGetIntrinsicValue#186 Value 188 Constant undefined Undefined 189 Constant 0x37 Int32 190 Constant 0x0 Int32 191 Constant string 104289c28540 String 192 Bail 322 Unreachable Block 22 195 Constant function IsCallable at 104289c6c7b0 Object 196 DebugCheckSelfHosted ← Constant#195 Value 197 Constant undefined Undefined 198 Constant 0x1 Int32 199 IsCallable ← Lambda#162 Bool 200 Test ← IsCallable#199 → block 24, block 23 1 0 Block 23 201 CallGetIntrinsicValue Value 202 DebugCheckSelfHosted ← CallGetIntrinsicValue#201 Value 203 Constant undefined Undefined 204 Constant 0xc Int32 205 CallGetIntrinsicValue Value 206 DebugCheckSelfHosted ← CallGetIntrinsicValue#205 Value 207 Constant undefined Undefined 208 Constant 0x0 Int32 209 Bail 321 Unreachable Block 24 214 Constant 0x1 Int32 215 Constant 0x1 Int32 216 Compare ← Constant#214, Constant#215 Gt Bool 217 Test ← Compare#216 → block 25, block 26 1 0 Block 25 218 Constant 0x1 Int32 219 GetInlinedArgument ← Constant#218, Lambda#162 Value 220 Goto → block 27 Block 26 221 Constant undefined Undefined 222 Goto → block 27 Block 27 223 Phi ← Constant#221, GetInlinedArgument#219 Value 224 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 225 DebugCheckSelfHosted ← Constant#224 Value 226 Constant undefined Undefined 227 Constant 0x1 Int32 228 HasShape ← Unbox#172 Bool 229 Test ← HasShape#228 → block 28, block 29 1 0 Block 28 230 Constant shape at 104289c64f00 Shape 231 NewArrayObject ← Constant#230 Object 232 Goto → block 30 Block 29 233 CallGetIntrinsicValue Value 234 DebugCheckSelfHosted ← CallGetIntrinsicValue#233 Value 235 Constant undefined Undefined 236 Constant 0x0 Int32 237 Bail 320 Unreachable Block 30 241 Constant 0x0 Int32 242 Constant 0x0 Int32 255 Goto → block 31 Block 31 (loop header) 251 Phi ← Constant#241, Add#304 Value 252 Phi ← Constant#242, Phi#300 Value 329 Constant magic optimized-out MagicOptimizedOut 256 InterruptCheck 257 Unbox Phi#251 to Int32 (fallible) Int32 258 Unbox MinMax#181 to Int32 (fallible) Int32 259 Compare ← Unbox#257, Unbox#258 Lt Bool 260 Test ← Compare#259 → block 32, block 40 1 0 Block 32 333 Constant magic optimized-out MagicOptimizedOut 261 Unbox Unbox#172 to Object (fallible) Object 262 Unbox Phi#251 to Int32 (fallible) Int32 263 GuardShape ← Unbox#261 Object 264 Elements ← GuardShape#263 Elements 265 InitializedLength ← Elements#264 Int32 266 BoundsCheck ← Unbox#262, InitializedLength#265 Int32 267 SpectreMaskIndex ← BoundsCheck#266, InitializedLength#265 Int32 268 GuardElementNotHole ← Elements#264, SpectreMaskIndex#267 269 Constant true Bool 270 Test ← Constant#269 → block 34, block 33 1 0 Block 33 (split edge) 331 Constant magic optimized-out MagicOptimizedOut 327 Goto → block 39 Block 34 332 Constant magic optimized-out MagicOptimizedOut 271 Unbox Unbox#172 to Object (fallible) Object 272 Unbox Phi#251 to Int32 (fallible) Int32 273 GuardShape ← Unbox#271 Object 274 Elements ← GuardShape#273 Elements 275 InitializedLength ← Elements#274 Int32 276 BoundsCheck ← Unbox#272, InitializedLength#275 Int32 277 SpectreMaskIndex ← BoundsCheck#276, InitializedLength#275 Int32 278 GuardElementsArePacked ← Elements#274 279 LoadElement ← Elements#274, SpectreMaskIndex#277 Value 280 Constant 0x3 Int32 281 Unbox Lambda#162 to Object (fallible) Object 282 GuardToFunction ← Unbox#281 Object 283 GuardFunctionScript ← GuardToFunction#282 Object 284 Goto → block 35 Block 35 285 Constant undefined Undefined 286 Constant 0x32 Int32 287 Unbox LoadElement#279 to Double (fallible) Double 288 Compare ← Unbox#287, Constant#286 Gt Bool 290 Goto → block 36 Block 36 291 Test ← Compare#288 → block 38, block 37 1 0 Block 37 (split edge) 328 Goto → block 39 Block 38 292 Unbox Phi#252 to Int32 (fallible) Int32 293 Constant 0x1 Int32 294 Add ← Unbox#292, Constant#293 [int32] Int32 295 Unbox NewArrayObject#231 to Object (fallible) Object 296 GuardShape ← Unbox#295 Object 297 Elements ← GuardShape#296 Elements 298 StoreElementHole ← GuardShape#296, Elements#297, Unbox#292, LoadElement#279 299 Goto → block 39 Block 39 (backedge) 300 Phi ← Add#294, Phi#252, Phi#252 Value 330 Constant magic optimized-out MagicOptimizedOut 302 Unbox Phi#251 to Int32 (fallible) Int32 303 Constant 0x1 Int32 304 Add ← Unbox#302, Constant#303 [int32] Int32 305 Goto → block 31 Block 40 308 Unbox NewArrayObject#231 to Object (fallible) Object 309 GuardShape ← Unbox#308 Object 310 Constant object 104289c3e088 (Array) Object 311 Constant function reduce (self-hosted:205) at 104289c479c0 Object 312 Constant function complex4/< (-e:18) at 104289c63d98 Object 313 Lambda ← FunctionEnvironment#6, Constant#312 Object 314 Constant 0x0 Int32 315 Constant 0x2 Int32 316 Constant function reduce (self-hosted:205) at 104289c479c0 Object 317 GuardSpecificFunction ← Constant#311, Constant#316 Object 318 Call ← GuardSpecificFunction#317, NewArrayObject#231, Lambda#313, Constant#314 Value 319 Return ← Call#318
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 9 Constant object 104289c3e088 (Array) Object 10 Constant function map (self-hosted:163) at 104289c47920 Object 11 Constant function complex4/< (-e:18) at 104289c63d28 Object 12 Lambda ← FunctionEnvironment#6, Constant#11 Object 13 Constant 0x1 Int32 14 Constant function map (self-hosted:163) at 104289c47920 Object 15 GuardSpecificFunction ← Constant#10, Constant#14 Object 16 Goto → block 1 Block 1 17 Constant undefined Undefined 18 Constant function ToObject at 104289c6c740 Object 19 DebugCheckSelfHosted ← Constant#18 Value 20 Constant undefined Undefined 21 Constant 0x1 Int32 22 Unbox Parameter#1 to Object (fallible) Object 23 Constant function ToLength at 104289c6c778 Object 24 DebugCheckSelfHosted ← Constant#23 Value 25 Constant undefined Undefined 26 GuardShape ← Unbox#22 Object 27 Elements ← GuardShape#26 Elements 28 ArrayLength ← Elements#27 Int32 29 Constant 0x1 Int32 30 Constant 0x0 Int32 31 MinMax ← ArrayLength#28, Constant#30 (max) Int32 32 Constant 0x1 Int32 33 Constant 0x0 Int32 34 Compare ← Constant#32, Constant#33 StrictEq Bool 35 Test ← Compare#34 → block 2, block 3 1 0 Block 2 36 CallGetIntrinsicValue Value 37 DebugCheckSelfHosted ← CallGetIntrinsicValue#36 Value 38 Constant undefined Undefined 39 Constant 0x37 Int32 40 Constant 0x0 Int32 41 Constant string 104289c2e080 String 42 Bail 325 Unreachable Block 3 45 Constant function IsCallable at 104289c6c7b0 Object 46 DebugCheckSelfHosted ← Constant#45 Value 47 Constant undefined Undefined 48 Constant 0x1 Int32 49 IsCallable ← Lambda#12 Bool 50 Test ← IsCallable#49 → block 5, block 4 1 0 Block 4 51 CallGetIntrinsicValue Value 52 DebugCheckSelfHosted ← CallGetIntrinsicValue#51 Value 53 Constant undefined Undefined 54 Constant 0xc Int32 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Constant undefined Undefined 58 Constant 0x0 Int32 59 Bail 324 Unreachable Block 5 64 Constant 0x1 Int32 65 Constant 0x1 Int32 66 Compare ← Constant#64, Constant#65 Gt Bool 67 Test ← Compare#66 → block 6, block 7 1 0 Block 6 68 Constant 0x1 Int32 69 GetInlinedArgument ← Constant#68, Lambda#12 Value 70 Goto → block 8 Block 7 71 Constant undefined Undefined 72 Goto → block 8 Block 8 73 Phi ← Constant#71, GetInlinedArgument#69 Value 74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 75 DebugCheckSelfHosted ← Constant#74 Value 76 Constant undefined Undefined 77 Constant 0x1 Int32 78 HasShape ← Unbox#22 Bool 79 Test ← HasShape#78 → block 9, block 10 1 0 Block 9 80 Constant function std_Array at 104289c6c820 Object 81 DebugCheckSelfHosted ← Constant#80 Value 82 Constant undefined Undefined 83 Constant 0x1 Int32 84 Unbox DebugCheckSelfHosted#81 to Object (fallible) Object 85 Constant function std_Array at 104289c6c820 Object 86 GuardSpecificFunction ← Unbox#84, Constant#85 Object 87 NewArrayDynamicLength ← MinMax#31 Object 88 Goto → block 11 Block 10 89 CallGetIntrinsicValue Value 90 DebugCheckSelfHosted ← CallGetIntrinsicValue#89 Value 91 Constant undefined Undefined 92 Bail 323 Unreachable Block 11 96 Constant 0x0 Int32 108 Goto → block 12 Block 12 (loop header) 105 Phi ← Constant#96, Add#153 Value 334 Constant magic optimized-out MagicOptimizedOut 109 InterruptCheck 110 Unbox Phi#105 to Int32 (fallible) Int32 111 Unbox MinMax#31 to Int32 (fallible) Int32 112 Compare ← Unbox#110, Unbox#111 Lt Bool 113 Test ← Compare#112 → block 13, block 19 1 0 Block 13 339 Constant magic optimized-out MagicOptimizedOut 114 Unbox Unbox#22 to Object (fallible) Object 115 Unbox Phi#105 to Int32 (fallible) Int32 116 GuardShape ← Unbox#114 Object 117 Elements ← GuardShape#116 Elements 118 InitializedLength ← Elements#117 Int32 119 BoundsCheck ← Unbox#115, InitializedLength#118 Int32 120 SpectreMaskIndex ← BoundsCheck#119, InitializedLength#118 Int32 121 GuardElementNotHole ← Elements#117, SpectreMaskIndex#120 122 Constant true Bool 123 Test ← Constant#122 → block 15, block 14 1 0 Block 14 (split edge) 336 Constant magic optimized-out MagicOptimizedOut 326 Goto → block 18 Block 15 338 Constant magic optimized-out MagicOptimizedOut 124 Unbox Unbox#22 to Object (fallible) Object 125 Unbox Phi#105 to Int32 (fallible) Int32 126 GuardShape ← Unbox#124 Object 127 Elements ← GuardShape#126 Elements 128 InitializedLength ← Elements#127 Int32 129 BoundsCheck ← Unbox#125, InitializedLength#128 Int32 130 SpectreMaskIndex ← BoundsCheck#129, InitializedLength#128 Int32 131 GuardElementsArePacked ← Elements#127 132 LoadElement ← Elements#127, SpectreMaskIndex#130 Value 133 Constant 0x3 Int32 134 Unbox Lambda#12 to Object (fallible) Object 135 GuardToFunction ← Unbox#134 Object 136 GuardFunctionScript ← GuardToFunction#135 Object 137 Goto → block 16 Block 16 138 Constant undefined Undefined 139 Constant 0x2 Int32 140 Unbox LoadElement#132 to Double (fallible) Double 141 Mul ← Unbox#140, Constant#139 [double] Double 143 Goto → block 17 Block 17 337 Constant magic optimized-out MagicOptimizedOut 144 Unbox NewArrayDynamicLength#87 to Object (fallible) Object 145 Unbox Phi#105 to Int32 (fallible) Int32 146 GuardShape ← Unbox#144 Object 147 Elements ← GuardShape#146 Elements 148 StoreElementHole ← GuardShape#146, Elements#147, Unbox#145, Mul#141 149 Goto → block 18 Block 18 (backedge) 335 Constant magic optimized-out MagicOptimizedOut 151 Unbox Phi#105 to Int32 (fallible) Int32 152 Constant 0x1 Int32 153 Add ← Unbox#151, Constant#152 [int32] Int32 154 Goto → block 12 Block 19 157 Unbox NewArrayDynamicLength#87 to Object (fallible) Object 158 GuardShape ← Unbox#157 Object 159 Constant object 104289c3e088 (Array) Object 160 Constant function filter (self-hosted:183) at 104289c47970 Object 161 Constant function complex4/< (-e:18) at 104289c63d60 Object 162 Lambda ← FunctionEnvironment#6, Constant#161 Object 163 Constant 0x1 Int32 164 Constant function filter (self-hosted:183) at 104289c47970 Object 165 GuardSpecificFunction ← Constant#160, Constant#164 Object 166 Goto → block 20 Block 20 167 Constant undefined Undefined 168 Constant function ToObject at 104289c6c740 Object 169 DebugCheckSelfHosted ← Constant#168 Value 170 Constant undefined Undefined 171 Constant 0x1 Int32 172 Unbox NewArrayDynamicLength#87 to Object (fallible) Object 173 Constant function ToLength at 104289c6c778 Object 174 DebugCheckSelfHosted ← Constant#173 Value 175 Constant undefined Undefined 176 GuardShape ← Unbox#172 Object 177 Elements ← GuardShape#176 Elements 178 ArrayLength ← Elements#177 Int32 179 Constant 0x1 Int32 180 Constant 0x0 Int32 181 MinMax ← ArrayLength#178, Constant#180 (max) Int32 182 Constant 0x1 Int32 183 Constant 0x0 Int32 184 Compare ← Constant#182, Constant#183 StrictEq Bool 185 Test ← Compare#184 → block 21, block 22 1 0 Block 21 186 CallGetIntrinsicValue Value 187 DebugCheckSelfHosted ← CallGetIntrinsicValue#186 Value 188 Constant undefined Undefined 189 Constant 0x37 Int32 190 Constant 0x0 Int32 191 Constant string 104289c28540 String 192 Bail 322 Unreachable Block 22 195 Constant function IsCallable at 104289c6c7b0 Object 196 DebugCheckSelfHosted ← Constant#195 Value 197 Constant undefined Undefined 198 Constant 0x1 Int32 199 IsCallable ← Lambda#162 Bool 200 Test ← IsCallable#199 → block 24, block 23 1 0 Block 23 201 CallGetIntrinsicValue Value 202 DebugCheckSelfHosted ← CallGetIntrinsicValue#201 Value 203 Constant undefined Undefined 204 Constant 0xc Int32 205 CallGetIntrinsicValue Value 206 DebugCheckSelfHosted ← CallGetIntrinsicValue#205 Value 207 Constant undefined Undefined 208 Constant 0x0 Int32 209 Bail 321 Unreachable Block 24 214 Constant 0x1 Int32 215 Constant 0x1 Int32 216 Compare ← Constant#214, Constant#215 Gt Bool 217 Test ← Compare#216 → block 25, block 26 1 0 Block 25 218 Constant 0x1 Int32 219 GetInlinedArgument ← Constant#218, Lambda#162 Value 220 Goto → block 27 Block 26 221 Constant undefined Undefined 222 Goto → block 27 Block 27 223 Phi ← Constant#221, GetInlinedArgument#219 Value 224 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 225 DebugCheckSelfHosted ← Constant#224 Value 226 Constant undefined Undefined 227 Constant 0x1 Int32 228 HasShape ← Unbox#172 Bool 229 Test ← HasShape#228 → block 28, block 29 1 0 Block 28 230 Constant shape at 104289c64f00 Shape 231 NewArrayObject ← Constant#230 Object 232 Goto → block 30 Block 29 233 CallGetIntrinsicValue Value 234 DebugCheckSelfHosted ← CallGetIntrinsicValue#233 Value 235 Constant undefined Undefined 236 Constant 0x0 Int32 237 Bail 320 Unreachable Block 30 241 Constant 0x0 Int32 242 Constant 0x0 Int32 255 Goto → block 31 Block 31 (loop header) 251 Phi ← Constant#241, Add#304 Value 252 Phi ← Constant#242, Phi#300 Value 329 Constant magic optimized-out MagicOptimizedOut 256 InterruptCheck 257 Unbox Phi#251 to Int32 (fallible) Int32 258 Unbox MinMax#181 to Int32 (fallible) Int32 259 Compare ← Unbox#257, Unbox#258 Lt Bool 260 Test ← Compare#259 → block 32, block 40 1 0 Block 32 333 Constant magic optimized-out MagicOptimizedOut 261 Unbox Unbox#172 to Object (fallible) Object 262 Unbox Phi#251 to Int32 (fallible) Int32 263 GuardShape ← Unbox#261 Object 264 Elements ← GuardShape#263 Elements 265 InitializedLength ← Elements#264 Int32 266 BoundsCheck ← Unbox#262, InitializedLength#265 Int32 267 SpectreMaskIndex ← BoundsCheck#266, InitializedLength#265 Int32 268 GuardElementNotHole ← Elements#264, SpectreMaskIndex#267 269 Constant true Bool 270 Test ← Constant#269 → block 34, block 33 1 0 Block 33 (split edge) 331 Constant magic optimized-out MagicOptimizedOut 327 Goto → block 39 Block 34 332 Constant magic optimized-out MagicOptimizedOut 271 Unbox Unbox#172 to Object (fallible) Object 272 Unbox Phi#251 to Int32 (fallible) Int32 273 GuardShape ← Unbox#271 Object 274 Elements ← GuardShape#273 Elements 275 InitializedLength ← Elements#274 Int32 276 BoundsCheck ← Unbox#272, InitializedLength#275 Int32 277 SpectreMaskIndex ← BoundsCheck#276, InitializedLength#275 Int32 278 GuardElementsArePacked ← Elements#274 279 LoadElement ← Elements#274, SpectreMaskIndex#277 Value 280 Constant 0x3 Int32 281 Unbox Lambda#162 to Object (fallible) Object 282 GuardToFunction ← Unbox#281 Object 283 GuardFunctionScript ← GuardToFunction#282 Object 284 Goto → block 35 Block 35 285 Constant undefined Undefined 286 Constant 0x32 Int32 287 Unbox LoadElement#279 to Double (fallible) Double 288 Compare ← Unbox#287, Constant#286 Gt Bool 290 Goto → block 36 Block 36 291 Test ← Compare#288 → block 38, block 37 1 0 Block 37 (split edge) 328 Goto → block 39 Block 38 292 Unbox Phi#252 to Int32 (fallible) Int32 293 Constant 0x1 Int32 294 Add ← Unbox#292, Constant#293 [int32] Int32 295 Unbox NewArrayObject#231 to Object (fallible) Object 296 GuardShape ← Unbox#295 Object 297 Elements ← GuardShape#296 Elements 298 StoreElementHole ← GuardShape#296, Elements#297, Unbox#292, LoadElement#279 299 Goto → block 39 Block 39 (backedge) 300 Phi ← Add#294, Phi#252, Phi#252 Value 330 Constant magic optimized-out MagicOptimizedOut 302 Unbox Phi#251 to Int32 (fallible) Int32 303 Constant 0x1 Int32 304 Add ← Unbox#302, Constant#303 [int32] Int32 305 Goto → block 31 Block 40 308 Unbox NewArrayObject#231 to Object (fallible) Object 309 GuardShape ← Unbox#308 Object 310 Constant object 104289c3e088 (Array) Object 311 Constant function reduce (self-hosted:205) at 104289c479c0 Object 312 Constant function complex4/< (-e:18) at 104289c63d98 Object 313 Lambda ← FunctionEnvironment#6, Constant#312 Object 314 Constant 0x0 Int32 315 Constant 0x2 Int32 316 Constant function reduce (self-hosted:205) at 104289c479c0 Object 317 GuardSpecificFunction ← Constant#311, Constant#316 Object 318 Call ← GuardSpecificFunction#317, NewArrayObject#231, Lambda#313, Constant#314 Value 319 Return ← Call#318
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 9 Constant object 104289c3e088 (Array) Object 10 Constant function map (self-hosted:163) at 104289c47920 Object 11 Constant function complex4/< (-e:18) at 104289c63d28 Object 12 Lambda ← FunctionEnvironment#6, Constant#11 Object 13 Constant 0x1 Int32 14 Constant function map (self-hosted:163) at 104289c47920 Object 15 GuardSpecificFunction ← Constant#10, Constant#14 Object 16 Goto → block 1 Block 1 17 Constant undefined Undefined 18 Constant function ToObject at 104289c6c740 Object 19 DebugCheckSelfHosted ← Constant#18 Value 20 Constant undefined Undefined 21 Constant 0x1 Int32 22 Unbox Parameter#1 to Object (fallible) Object 23 Constant function ToLength at 104289c6c778 Object 24 DebugCheckSelfHosted ← Constant#23 Value 25 Constant undefined Undefined 26 GuardShape ← Unbox#22 Object 27 Elements ← GuardShape#26 Elements 28 ArrayLength ← Elements#27 Int32 29 Constant 0x1 Int32 30 Constant 0x0 Int32 31 MinMax ← ArrayLength#28, Constant#30 (max) Int32 32 Constant 0x1 Int32 33 Constant 0x0 Int32 34 Compare ← Constant#32, Constant#33 StrictEq Bool 35 Test ← Compare#34 → block 2, block 3 1 0 Block 2 36 CallGetIntrinsicValue Value 37 DebugCheckSelfHosted ← CallGetIntrinsicValue#36 Value 38 Constant undefined Undefined 39 Constant 0x37 Int32 40 Constant 0x0 Int32 41 Constant string 104289c2e080 String 42 Bail 325 Unreachable Block 3 45 Constant function IsCallable at 104289c6c7b0 Object 46 DebugCheckSelfHosted ← Constant#45 Value 47 Constant undefined Undefined 48 Constant 0x1 Int32 49 IsCallable ← Lambda#12 Bool 50 Test ← IsCallable#49 → block 5, block 4 1 0 Block 4 51 CallGetIntrinsicValue Value 52 DebugCheckSelfHosted ← CallGetIntrinsicValue#51 Value 53 Constant undefined Undefined 54 Constant 0xc Int32 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Constant undefined Undefined 58 Constant 0x0 Int32 59 Bail 324 Unreachable Block 5 64 Constant 0x1 Int32 65 Constant 0x1 Int32 66 Compare ← Constant#64, Constant#65 Gt Bool 67 Test ← Compare#66 → block 6, block 7 1 0 Block 6 68 Constant 0x1 Int32 69 GetInlinedArgument ← Constant#68, Lambda#12 Value 70 Goto → block 8 Block 7 71 Constant undefined Undefined 72 Goto → block 8 Block 8 73 Phi ← Constant#71, GetInlinedArgument#69 Value 74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 75 DebugCheckSelfHosted ← Constant#74 Value 76 Constant undefined Undefined 77 Constant 0x1 Int32 78 HasShape ← Unbox#22 Bool 79 Test ← HasShape#78 → block 9, block 10 1 0 Block 9 80 Constant function std_Array at 104289c6c820 Object 81 DebugCheckSelfHosted ← Constant#80 Value 82 Constant undefined Undefined 83 Constant 0x1 Int32 84 Unbox DebugCheckSelfHosted#81 to Object (fallible) Object 85 Constant function std_Array at 104289c6c820 Object 86 GuardSpecificFunction ← Unbox#84, Constant#85 Object 87 NewArrayDynamicLength ← MinMax#31 Object 88 Goto → block 11 Block 10 89 CallGetIntrinsicValue Value 90 DebugCheckSelfHosted ← CallGetIntrinsicValue#89 Value 91 Constant undefined Undefined 92 Bail 323 Unreachable Block 11 96 Constant 0x0 Int32 108 Goto → block 12 Block 12 (loop header) 105 Phi ← Constant#96, Add#153 Value 334 Constant magic optimized-out MagicOptimizedOut 109 InterruptCheck 110 Unbox Phi#105 to Int32 (fallible) Int32 111 Unbox MinMax#31 to Int32 (fallible) Int32 112 Compare ← Unbox#110, Unbox#111 Lt Bool 113 Test ← Compare#112 → block 13, block 19 1 0 Block 13 339 Constant magic optimized-out MagicOptimizedOut 114 Unbox Unbox#22 to Object (fallible) Object 115 Unbox Phi#105 to Int32 (fallible) Int32 116 GuardShape ← Unbox#114 Object 117 Elements ← GuardShape#116 Elements 118 InitializedLength ← Elements#117 Int32 119 BoundsCheck ← Unbox#115, InitializedLength#118 Int32 120 SpectreMaskIndex ← BoundsCheck#119, InitializedLength#118 Int32 121 GuardElementNotHole ← Elements#117, SpectreMaskIndex#120 122 Constant true Bool 123 Test ← Constant#122 → block 15, block 14 1 0 Block 14 (split edge) 336 Constant magic optimized-out MagicOptimizedOut 326 Goto → block 18 Block 15 338 Constant magic optimized-out MagicOptimizedOut 124 Unbox Unbox#22 to Object (fallible) Object 125 Unbox Phi#105 to Int32 (fallible) Int32 126 GuardShape ← Unbox#124 Object 127 Elements ← GuardShape#126 Elements 128 InitializedLength ← Elements#127 Int32 129 BoundsCheck ← Unbox#125, InitializedLength#128 Int32 130 SpectreMaskIndex ← BoundsCheck#129, InitializedLength#128 Int32 131 GuardElementsArePacked ← Elements#127 132 LoadElement ← Elements#127, SpectreMaskIndex#130 Value 133 Constant 0x3 Int32 134 Unbox Lambda#12 to Object (fallible) Object 135 GuardToFunction ← Unbox#134 Object 136 GuardFunctionScript ← GuardToFunction#135 Object 137 Goto → block 16 Block 16 138 Constant undefined Undefined 139 Constant 0x2 Int32 140 Unbox LoadElement#132 to Double (fallible) Double 141 Mul ← Unbox#140, Constant#139 [double] Double 143 Goto → block 17 Block 17 337 Constant magic optimized-out MagicOptimizedOut 144 Unbox NewArrayDynamicLength#87 to Object (fallible) Object 145 Unbox Phi#105 to Int32 (fallible) Int32 146 GuardShape ← Unbox#144 Object 147 Elements ← GuardShape#146 Elements 148 StoreElementHole ← GuardShape#146, Elements#147, Unbox#145, Mul#141 149 Goto → block 18 Block 18 (backedge) 335 Constant magic optimized-out MagicOptimizedOut 151 Unbox Phi#105 to Int32 (fallible) Int32 152 Constant 0x1 Int32 153 Add ← Unbox#151, Constant#152 [int32] Int32 154 Goto → block 12 Block 19 157 Unbox NewArrayDynamicLength#87 to Object (fallible) Object 158 GuardShape ← Unbox#157 Object 159 Constant object 104289c3e088 (Array) Object 160 Constant function filter (self-hosted:183) at 104289c47970 Object 161 Constant function complex4/< (-e:18) at 104289c63d60 Object 162 Lambda ← FunctionEnvironment#6, Constant#161 Object 163 Constant 0x1 Int32 164 Constant function filter (self-hosted:183) at 104289c47970 Object 165 GuardSpecificFunction ← Constant#160, Constant#164 Object 166 Goto → block 20 Block 20 167 Constant undefined Undefined 168 Constant function ToObject at 104289c6c740 Object 169 DebugCheckSelfHosted ← Constant#168 Value 170 Constant undefined Undefined 171 Constant 0x1 Int32 172 Unbox NewArrayDynamicLength#87 to Object (fallible) Object 173 Constant function ToLength at 104289c6c778 Object 174 DebugCheckSelfHosted ← Constant#173 Value 175 Constant undefined Undefined 176 GuardShape ← Unbox#172 Object 177 Elements ← GuardShape#176 Elements 178 ArrayLength ← Elements#177 Int32 179 Constant 0x1 Int32 180 Constant 0x0 Int32 181 MinMax ← ArrayLength#178, Constant#180 (max) Int32 182 Constant 0x1 Int32 183 Constant 0x0 Int32 184 Compare ← Constant#182, Constant#183 StrictEq Bool 185 Test ← Compare#184 → block 21, block 22 1 0 Block 21 186 CallGetIntrinsicValue Value 187 DebugCheckSelfHosted ← CallGetIntrinsicValue#186 Value 188 Constant undefined Undefined 189 Constant 0x37 Int32 190 Constant 0x0 Int32 191 Constant string 104289c28540 String 192 Bail 322 Unreachable Block 22 195 Constant function IsCallable at 104289c6c7b0 Object 196 DebugCheckSelfHosted ← Constant#195 Value 197 Constant undefined Undefined 198 Constant 0x1 Int32 199 IsCallable ← Lambda#162 Bool 200 Test ← IsCallable#199 → block 24, block 23 1 0 Block 23 201 CallGetIntrinsicValue Value 202 DebugCheckSelfHosted ← CallGetIntrinsicValue#201 Value 203 Constant undefined Undefined 204 Constant 0xc Int32 205 CallGetIntrinsicValue Value 206 DebugCheckSelfHosted ← CallGetIntrinsicValue#205 Value 207 Constant undefined Undefined 208 Constant 0x0 Int32 209 Bail 321 Unreachable Block 24 214 Constant 0x1 Int32 215 Constant 0x1 Int32 216 Compare ← Constant#214, Constant#215 Gt Bool 217 Test ← Compare#216 → block 25, block 26 1 0 Block 25 218 Constant 0x1 Int32 219 GetInlinedArgument ← Constant#218, Lambda#162 Value 220 Goto → block 27 Block 26 221 Constant undefined Undefined 222 Goto → block 27 Block 27 223 Phi ← Constant#221, GetInlinedArgument#219 Value 224 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 225 DebugCheckSelfHosted ← Constant#224 Value 226 Constant undefined Undefined 227 Constant 0x1 Int32 228 HasShape ← Unbox#172 Bool 229 Test ← HasShape#228 → block 28, block 29 1 0 Block 28 230 Constant shape at 104289c64f00 Shape 231 NewArrayObject ← Constant#230 Object 232 Goto → block 30 Block 29 233 CallGetIntrinsicValue Value 234 DebugCheckSelfHosted ← CallGetIntrinsicValue#233 Value 235 Constant undefined Undefined 236 Constant 0x0 Int32 237 Bail 320 Unreachable Block 30 241 Constant 0x0 Int32 242 Constant 0x0 Int32 255 Goto → block 31 Block 31 (loop header) 251 Phi ← Constant#241, Add#304 Value 252 Phi ← Constant#242, Phi#300 Value 329 Constant magic optimized-out MagicOptimizedOut 256 InterruptCheck 257 Unbox Phi#251 to Int32 (fallible) Int32 258 Unbox MinMax#181 to Int32 (fallible) Int32 259 Compare ← Unbox#257, Unbox#258 Lt Bool 260 Test ← Compare#259 → block 32, block 40 1 0 Block 32 333 Constant magic optimized-out MagicOptimizedOut 261 Unbox Unbox#172 to Object (fallible) Object 262 Unbox Phi#251 to Int32 (fallible) Int32 263 GuardShape ← Unbox#261 Object 264 Elements ← GuardShape#263 Elements 265 InitializedLength ← Elements#264 Int32 266 BoundsCheck ← Unbox#262, InitializedLength#265 Int32 267 SpectreMaskIndex ← BoundsCheck#266, InitializedLength#265 Int32 268 GuardElementNotHole ← Elements#264, SpectreMaskIndex#267 269 Constant true Bool 270 Test ← Constant#269 → block 34, block 33 1 0 Block 33 (split edge) 331 Constant magic optimized-out MagicOptimizedOut 327 Goto → block 39 Block 34 332 Constant magic optimized-out MagicOptimizedOut 271 Unbox Unbox#172 to Object (fallible) Object 272 Unbox Phi#251 to Int32 (fallible) Int32 273 GuardShape ← Unbox#271 Object 274 Elements ← GuardShape#273 Elements 275 InitializedLength ← Elements#274 Int32 276 BoundsCheck ← Unbox#272, InitializedLength#275 Int32 277 SpectreMaskIndex ← BoundsCheck#276, InitializedLength#275 Int32 278 GuardElementsArePacked ← Elements#274 279 LoadElement ← Elements#274, SpectreMaskIndex#277 Value 280 Constant 0x3 Int32 281 Unbox Lambda#162 to Object (fallible) Object 282 GuardToFunction ← Unbox#281 Object 283 GuardFunctionScript ← GuardToFunction#282 Object 284 Goto → block 35 Block 35 285 Constant undefined Undefined 286 Constant 0x32 Int32 287 Unbox LoadElement#279 to Double (fallible) Double 288 Compare ← Unbox#287, Constant#286 Gt Bool 290 Goto → block 36 Block 36 291 Test ← Compare#288 → block 38, block 37 1 0 Block 37 (split edge) 328 Goto → block 39 Block 38 292 Unbox Phi#252 to Int32 (fallible) Int32 293 Constant 0x1 Int32 294 Add ← Unbox#292, Constant#293 [int32] Int32 295 Unbox NewArrayObject#231 to Object (fallible) Object 296 GuardShape ← Unbox#295 Object 297 Elements ← GuardShape#296 Elements 298 StoreElementHole ← GuardShape#296, Elements#297, Unbox#292, LoadElement#279 299 Goto → block 39 Block 39 (backedge) 300 Phi ← Add#294, Phi#252, Phi#252 Value 330 Constant magic optimized-out MagicOptimizedOut 302 Unbox Phi#251 to Int32 (fallible) Int32 303 Constant 0x1 Int32 304 Add ← Unbox#302, Constant#303 [int32] Int32 305 Goto → block 31 Block 40 308 Unbox NewArrayObject#231 to Object (fallible) Object 309 GuardShape ← Unbox#308 Object 310 Constant object 104289c3e088 (Array) Object 311 Constant function reduce (self-hosted:205) at 104289c479c0 Object 312 Constant function complex4/< (-e:18) at 104289c63d98 Object 313 Lambda ← FunctionEnvironment#6, Constant#312 Object 314 Constant 0x0 Int32 315 Constant 0x2 Int32 316 Constant function reduce (self-hosted:205) at 104289c479c0 Object 317 GuardSpecificFunction ← Constant#311, Constant#316 Object 318 Call ← GuardSpecificFunction#317, NewArrayObject#231, Lambda#313, Constant#314 Value 319 Return ← Call#318
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 9 Constant object 104289c3e088 (Array) Object 10 Constant function map (self-hosted:163) at 104289c47920 Object 11 Constant function complex4/< (-e:18) at 104289c63d28 Object 12 Lambda ← FunctionEnvironment#6, Constant#11 Object 13 Constant 0x1 Int32 14 Constant function map (self-hosted:163) at 104289c47920 Object 15 GuardSpecificFunction ← Constant#10, Constant#14 Object 16 Goto → block 1 Block 1 17 Constant undefined Undefined 18 Constant function ToObject at 104289c6c740 Object 340 Box ← Constant#18 Value 19 DebugCheckSelfHosted ← Box#340 Value 20 Constant undefined Undefined 21 Constant 0x1 Int32 22 Unbox Parameter#1 to Object (fallible) Object 23 Constant function ToLength at 104289c6c778 Object 341 Box ← Constant#23 Value 24 DebugCheckSelfHosted ← Box#341 Value 25 Constant undefined Undefined 26 GuardShape ← Unbox#22 Object 27 Elements ← GuardShape#26 Elements 28 ArrayLength ← Elements#27 Int32 29 Constant 0x1 Int32 30 Constant 0x0 Int32 31 MinMax ← ArrayLength#28, Constant#30 (max) Int32 32 Constant 0x1 Int32 33 Constant 0x0 Int32 34 Compare ← Constant#32, Constant#33 StrictEq Bool 35 Test ← Compare#34 → block 2, block 3 1 0 Block 2 36 CallGetIntrinsicValue Value 37 DebugCheckSelfHosted ← CallGetIntrinsicValue#36 Value 38 Constant undefined Undefined 39 Constant 0x37 Int32 40 Constant 0x0 Int32 41 Constant string 104289c2e080 String 42 Bail 325 Unreachable Block 3 45 Constant function IsCallable at 104289c6c7b0 Object 342 Box ← Constant#45 Value 46 DebugCheckSelfHosted ← Box#342 Value 47 Constant undefined Undefined 48 Constant 0x1 Int32 49 IsCallable ← Lambda#12 Bool 50 Test ← IsCallable#49 → block 5, block 4 1 0 Block 4 51 CallGetIntrinsicValue Value 52 DebugCheckSelfHosted ← CallGetIntrinsicValue#51 Value 53 Constant undefined Undefined 54 Constant 0xc Int32 55 CallGetIntrinsicValue Value 56 DebugCheckSelfHosted ← CallGetIntrinsicValue#55 Value 57 Constant undefined Undefined 58 Constant 0x0 Int32 59 Bail 324 Unreachable Block 5 64 Constant 0x1 Int32 65 Constant 0x1 Int32 66 Compare ← Constant#64, Constant#65 Gt Bool 67 Test ← Compare#66 → block 6, block 7 1 0 Block 6 68 Constant 0x1 Int32 69 GetInlinedArgument ← Constant#68, Lambda#12 Value 70 Goto → block 8 Block 7 71 Constant undefined Undefined 343 Box ← Constant#71 Value 72 Goto → block 8 Block 8 73 Phi ← Box#343, GetInlinedArgument#69 Value 74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 344 Box ← Constant#74 Value 75 DebugCheckSelfHosted ← Box#344 Value 76 Constant undefined Undefined 77 Constant 0x1 Int32 78 HasShape ← Unbox#22 Bool 79 Test ← HasShape#78 → block 9, block 10 1 0 Block 9 80 Constant function std_Array at 104289c6c820 Object 345 Box ← Constant#80 Value 81 DebugCheckSelfHosted ← Box#345 Value 82 Constant undefined Undefined 83 Constant 0x1 Int32 84 Unbox DebugCheckSelfHosted#81 to Object (fallible) Object 85 Constant function std_Array at 104289c6c820 Object 86 GuardSpecificFunction ← Unbox#84, Constant#85 Object 87 NewArrayDynamicLength ← MinMax#31 Object 88 Goto → block 11 Block 10 89 CallGetIntrinsicValue Value 90 DebugCheckSelfHosted ← CallGetIntrinsicValue#89 Value 91 Constant undefined Undefined 92 Bail 323 Unreachable Block 11 96 Constant 0x0 Int32 108 Goto → block 12 Block 12 (loop header) 105 Phi ← Constant#96, Add#153 Int32 334 Constant magic optimized-out MagicOptimizedOut 109 InterruptCheck 346 Box ← Phi#105 Value 110 Unbox Box#346 to Int32 (fallible) Int32 347 Box ← MinMax#31 Value 111 Unbox Box#347 to Int32 (fallible) Int32 112 Compare ← Unbox#110, Unbox#111 Lt Bool 113 Test ← Compare#112 → block 13, block 19 1 0 Block 13 339 Constant magic optimized-out MagicOptimizedOut 348 Box ← Unbox#22 Value 114 Unbox Box#348 to Object (fallible) Object 349 Box ← Phi#105 Value 115 Unbox Box#349 to Int32 (fallible) Int32 116 GuardShape ← Unbox#114 Object 117 Elements ← GuardShape#116 Elements 118 InitializedLength ← Elements#117 Int32 119 BoundsCheck ← Unbox#115, InitializedLength#118 Int32 120 SpectreMaskIndex ← BoundsCheck#119, InitializedLength#118 Int32 121 GuardElementNotHole ← Elements#117, SpectreMaskIndex#120 122 Constant true Bool 123 Test ← Constant#122 → block 15, block 14 1 0 Block 14 (split edge) 336 Constant magic optimized-out MagicOptimizedOut 326 Goto → block 18 Block 15 338 Constant magic optimized-out MagicOptimizedOut 350 Box ← Unbox#22 Value 124 Unbox Box#350 to Object (fallible) Object 351 Box ← Phi#105 Value 125 Unbox Box#351 to Int32 (fallible) Int32 126 GuardShape ← Unbox#124 Object 127 Elements ← GuardShape#126 Elements 128 InitializedLength ← Elements#127 Int32 129 BoundsCheck ← Unbox#125, InitializedLength#128 Int32 130 SpectreMaskIndex ← BoundsCheck#129, InitializedLength#128 Int32 131 GuardElementsArePacked ← Elements#127 132 LoadElement ← Elements#127, SpectreMaskIndex#130 Value 133 Constant 0x3 Int32 352 Box ← Lambda#12 Value 134 Unbox Box#352 to Object (fallible) Object 135 GuardToFunction ← Unbox#134 Object 136 GuardFunctionScript ← GuardToFunction#135 Object 137 Goto → block 16 Block 16 138 Constant undefined Undefined 139 Constant 0x2 Int32 140 Unbox LoadElement#132 to Double (fallible) Double 353 ToDouble ← Constant#139 Double 141 Mul ← Unbox#140, ToDouble#353 [double] Double 143 Goto → block 17 Block 17 337 Constant magic optimized-out MagicOptimizedOut 354 Box ← NewArrayDynamicLength#87 Value 144 Unbox Box#354 to Object (fallible) Object 355 Box ← Phi#105 Value 145 Unbox Box#355 to Int32 (fallible) Int32 146 GuardShape ← Unbox#144 Object 147 Elements ← GuardShape#146 Elements 148 StoreElementHole ← GuardShape#146, Elements#147, Unbox#145, Mul#141 149 Goto → block 18 Block 18 (backedge) 335 Constant magic optimized-out MagicOptimizedOut 356 Box ← Phi#105 Value 151 Unbox Box#356 to Int32 (fallible) Int32 152 Constant 0x1 Int32 153 Add ← Unbox#151, Constant#152 [int32] Int32 154 Goto → block 12 Block 19 357 Box ← NewArrayDynamicLength#87 Value 157 Unbox Box#357 to Object (fallible) Object 158 GuardShape ← Unbox#157 Object 159 Constant object 104289c3e088 (Array) Object 160 Constant function filter (self-hosted:183) at 104289c47970 Object 161 Constant function complex4/< (-e:18) at 104289c63d60 Object 162 Lambda ← FunctionEnvironment#6, Constant#161 Object 163 Constant 0x1 Int32 164 Constant function filter (self-hosted:183) at 104289c47970 Object 165 GuardSpecificFunction ← Constant#160, Constant#164 Object 166 Goto → block 20 Block 20 167 Constant undefined Undefined 168 Constant function ToObject at 104289c6c740 Object 358 Box ← Constant#168 Value 169 DebugCheckSelfHosted ← Box#358 Value 170 Constant undefined Undefined 171 Constant 0x1 Int32 359 Box ← NewArrayDynamicLength#87 Value 172 Unbox Box#359 to Object (fallible) Object 173 Constant function ToLength at 104289c6c778 Object 360 Box ← Constant#173 Value 174 DebugCheckSelfHosted ← Box#360 Value 175 Constant undefined Undefined 176 GuardShape ← Unbox#172 Object 177 Elements ← GuardShape#176 Elements 178 ArrayLength ← Elements#177 Int32 179 Constant 0x1 Int32 180 Constant 0x0 Int32 181 MinMax ← ArrayLength#178, Constant#180 (max) Int32 182 Constant 0x1 Int32 183 Constant 0x0 Int32 184 Compare ← Constant#182, Constant#183 StrictEq Bool 185 Test ← Compare#184 → block 21, block 22 1 0 Block 21 186 CallGetIntrinsicValue Value 187 DebugCheckSelfHosted ← CallGetIntrinsicValue#186 Value 188 Constant undefined Undefined 189 Constant 0x37 Int32 190 Constant 0x0 Int32 191 Constant string 104289c28540 String 192 Bail 322 Unreachable Block 22 195 Constant function IsCallable at 104289c6c7b0 Object 361 Box ← Constant#195 Value 196 DebugCheckSelfHosted ← Box#361 Value 197 Constant undefined Undefined 198 Constant 0x1 Int32 199 IsCallable ← Lambda#162 Bool 200 Test ← IsCallable#199 → block 24, block 23 1 0 Block 23 201 CallGetIntrinsicValue Value 202 DebugCheckSelfHosted ← CallGetIntrinsicValue#201 Value 203 Constant undefined Undefined 204 Constant 0xc Int32 205 CallGetIntrinsicValue Value 206 DebugCheckSelfHosted ← CallGetIntrinsicValue#205 Value 207 Constant undefined Undefined 208 Constant 0x0 Int32 209 Bail 321 Unreachable Block 24 214 Constant 0x1 Int32 215 Constant 0x1 Int32 216 Compare ← Constant#214, Constant#215 Gt Bool 217 Test ← Compare#216 → block 25, block 26 1 0 Block 25 218 Constant 0x1 Int32 219 GetInlinedArgument ← Constant#218, Lambda#162 Value 220 Goto → block 27 Block 26 221 Constant undefined Undefined 362 Box ← Constant#221 Value 222 Goto → block 27 Block 27 223 Phi ← Box#362, GetInlinedArgument#219 Value 224 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 363 Box ← Constant#224 Value 225 DebugCheckSelfHosted ← Box#363 Value 226 Constant undefined Undefined 227 Constant 0x1 Int32 228 HasShape ← Unbox#172 Bool 229 Test ← HasShape#228 → block 28, block 29 1 0 Block 28 230 Constant shape at 104289c64f00 Shape 231 NewArrayObject ← Constant#230 Object 232 Goto → block 30 Block 29 233 CallGetIntrinsicValue Value 234 DebugCheckSelfHosted ← CallGetIntrinsicValue#233 Value 235 Constant undefined Undefined 236 Constant 0x0 Int32 237 Bail 320 Unreachable Block 30 241 Constant 0x0 Int32 242 Constant 0x0 Int32 255 Goto → block 31 Block 31 (loop header) 251 Phi ← Constant#241, Add#304 Int32 252 Phi ← Constant#242, Phi#300 Int32 329 Constant magic optimized-out MagicOptimizedOut 256 InterruptCheck 364 Box ← Phi#251 Value 257 Unbox Box#364 to Int32 (fallible) Int32 365 Box ← MinMax#181 Value 258 Unbox Box#365 to Int32 (fallible) Int32 259 Compare ← Unbox#257, Unbox#258 Lt Bool 260 Test ← Compare#259 → block 32, block 40 1 0 Block 32 333 Constant magic optimized-out MagicOptimizedOut 366 Box ← Unbox#172 Value 261 Unbox Box#366 to Object (fallible) Object 367 Box ← Phi#251 Value 262 Unbox Box#367 to Int32 (fallible) Int32 263 GuardShape ← Unbox#261 Object 264 Elements ← GuardShape#263 Elements 265 InitializedLength ← Elements#264 Int32 266 BoundsCheck ← Unbox#262, InitializedLength#265 Int32 267 SpectreMaskIndex ← BoundsCheck#266, InitializedLength#265 Int32 268 GuardElementNotHole ← Elements#264, SpectreMaskIndex#267 269 Constant true Bool 270 Test ← Constant#269 → block 34, block 33 1 0 Block 33 (split edge) 331 Constant magic optimized-out MagicOptimizedOut 327 Goto → block 39 Block 34 332 Constant magic optimized-out MagicOptimizedOut 368 Box ← Unbox#172 Value 271 Unbox Box#368 to Object (fallible) Object 369 Box ← Phi#251 Value 272 Unbox Box#369 to Int32 (fallible) Int32 273 GuardShape ← Unbox#271 Object 274 Elements ← GuardShape#273 Elements 275 InitializedLength ← Elements#274 Int32 276 BoundsCheck ← Unbox#272, InitializedLength#275 Int32 277 SpectreMaskIndex ← BoundsCheck#276, InitializedLength#275 Int32 278 GuardElementsArePacked ← Elements#274 279 LoadElement ← Elements#274, SpectreMaskIndex#277 Value 280 Constant 0x3 Int32 370 Box ← Lambda#162 Value 281 Unbox Box#370 to Object (fallible) Object 282 GuardToFunction ← Unbox#281 Object 283 GuardFunctionScript ← GuardToFunction#282 Object 284 Goto → block 35 Block 35 285 Constant undefined Undefined 286 Constant 0x32 Int32 287 Unbox LoadElement#279 to Double (fallible) Double 371 ToDouble ← Constant#286 Double 288 Compare ← Unbox#287, ToDouble#371 Gt Bool 290 Goto → block 36 Block 36 291 Test ← Compare#288 → block 38, block 37 1 0 Block 37 (split edge) 328 Goto → block 39 Block 38 372 Box ← Phi#252 Value 292 Unbox Box#372 to Int32 (fallible) Int32 293 Constant 0x1 Int32 294 Add ← Unbox#292, Constant#293 [int32] Int32 373 Box ← NewArrayObject#231 Value 295 Unbox Box#373 to Object (fallible) Object 296 GuardShape ← Unbox#295 Object 297 Elements ← GuardShape#296 Elements 298 StoreElementHole ← GuardShape#296, Elements#297, Unbox#292, LoadElement#279 299 Goto → block 39 Block 39 (backedge) 300 Phi ← Add#294, Phi#252, Phi#252 Int32 330 Constant magic optimized-out MagicOptimizedOut 374 Box ← Phi#251 Value 302 Unbox Box#374 to Int32 (fallible) Int32 303 Constant 0x1 Int32 304 Add ← Unbox#302, Constant#303 [int32] Int32 305 Goto → block 31 Block 40 375 Box ← NewArrayObject#231 Value 308 Unbox Box#375 to Object (fallible) Object 309 GuardShape ← Unbox#308 Object 310 Constant object 104289c3e088 (Array) Object 311 Constant function reduce (self-hosted:205) at 104289c479c0 Object 312 Constant function complex4/< (-e:18) at 104289c63d98 Object 313 Lambda ← FunctionEnvironment#6, Constant#312 Object 314 Constant 0x0 Int32 315 Constant 0x2 Int32 316 Constant function reduce (self-hosted:205) at 104289c479c0 Object 317 GuardSpecificFunction ← Constant#311, Constant#316 Object 318 Call ← GuardSpecificFunction#317, NewArrayObject#231, Lambda#313, Constant#314 Value 319 Return ← Call#318
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 9 Constant object 104289c3e088 (Array) Object 10 Constant function map (self-hosted:163) at 104289c47920 Object 11 Constant function complex4/< (-e:18) at 104289c63d28 Object 12 Lambda ← FunctionEnvironment#6, Constant#11 Object 13 Constant 0x1 Int32 14 Constant function map (self-hosted:163) at 104289c47920 Object 15 GuardSpecificFunction ← Constant#10, Constant#14 Object 16 Goto → block 1 Block 1 17 Constant undefined Undefined 18 Constant function ToObject at 104289c6c740 Object 19 Box ← Constant#18 Value 20 DebugCheckSelfHosted ← Box#19 Value 21 Constant undefined Undefined 22 Constant 0x1 Int32 23 Unbox Parameter#1 to Object (fallible) Object 24 Constant function ToLength at 104289c6c778 Object 25 Box ← Constant#24 Value 26 DebugCheckSelfHosted ← Box#25 Value 27 Constant undefined Undefined 28 GuardShape ← Unbox#23 Object 29 Elements ← GuardShape#28 Elements 30 ArrayLength ← Elements#29 Int32 31 Constant 0x1 Int32 32 Constant 0x0 Int32 33 MinMax ← ArrayLength#30, Constant#32 (max) Int32 34 Constant 0x1 Int32 35 Constant 0x0 Int32 36 Compare ← Constant#34, Constant#35 StrictEq Bool 37 Test ← Compare#36 → block 2, block 3 1 0 Block 2 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0x37 Int32 42 Constant 0x0 Int32 43 Constant string 104289c2e080 String 44 Bail 45 Unreachable Block 3 46 Constant function IsCallable at 104289c6c7b0 Object 47 Box ← Constant#46 Value 48 DebugCheckSelfHosted ← Box#47 Value 49 Constant undefined Undefined 50 Constant 0x1 Int32 51 IsCallable ← Lambda#12 Bool 52 Test ← IsCallable#51 → block 5, block 4 1 0 Block 4 53 CallGetIntrinsicValue Value 54 DebugCheckSelfHosted ← CallGetIntrinsicValue#53 Value 55 Constant undefined Undefined 56 Constant 0xc Int32 57 CallGetIntrinsicValue Value 58 DebugCheckSelfHosted ← CallGetIntrinsicValue#57 Value 59 Constant undefined Undefined 60 Constant 0x0 Int32 61 Bail 62 Unreachable Block 5 63 Constant 0x1 Int32 64 Constant 0x1 Int32 65 Compare ← Constant#63, Constant#64 Gt Bool 66 Test ← Compare#65 → block 6, block 7 1 0 Block 6 67 Constant 0x1 Int32 68 GetInlinedArgument ← Constant#67, Lambda#12 Value 69 Goto → block 8 Block 7 70 Constant undefined Undefined 71 Box ← Constant#70 Value 72 Goto → block 8 Block 8 73 Phi ← Box#71, GetInlinedArgument#68 Value 74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 75 Box ← Constant#74 Value 76 DebugCheckSelfHosted ← Box#75 Value 77 Constant undefined Undefined 78 Constant 0x1 Int32 79 HasShape ← Unbox#23 Bool 80 Test ← HasShape#79 → block 9, block 10 1 0 Block 9 81 Constant function std_Array at 104289c6c820 Object 82 Box ← Constant#81 Value 83 DebugCheckSelfHosted ← Box#82 Value 84 Constant undefined Undefined 85 Constant 0x1 Int32 86 Unbox DebugCheckSelfHosted#83 to Object (fallible) Object 87 Constant function std_Array at 104289c6c820 Object 88 GuardSpecificFunction ← Unbox#86, Constant#87 Object 89 NewArrayDynamicLength ← MinMax#33 Object 90 Goto → block 11 Block 10 91 CallGetIntrinsicValue Value 92 DebugCheckSelfHosted ← CallGetIntrinsicValue#91 Value 93 Constant undefined Undefined 94 Bail 95 Unreachable Block 11 96 Constant 0x0 Int32 97 Goto → block 12 Block 12 (loop header) 98 Phi ← Constant#96, Add#159 Int32 99 Constant magic optimized-out MagicOptimizedOut 100 InterruptCheck 101 Box ← Phi#98 Value 102 Unbox Box#101 to Int32 (fallible) Int32 103 Box ← MinMax#33 Value 104 Unbox Box#103 to Int32 (fallible) Int32 105 Compare ← Unbox#102, Unbox#104 Lt Bool 106 Test ← Compare#105 → block 13, block 19 1 0 Block 13 107 Constant magic optimized-out MagicOptimizedOut 108 Box ← Unbox#23 Value 109 Unbox Box#108 to Object (fallible) Object 110 Box ← Phi#98 Value 111 Unbox Box#110 to Int32 (fallible) Int32 112 GuardShape ← Unbox#109 Object 113 Elements ← GuardShape#112 Elements 114 InitializedLength ← Elements#113 Int32 115 BoundsCheck ← Unbox#111, InitializedLength#114 Int32 116 SpectreMaskIndex ← BoundsCheck#115, InitializedLength#114 Int32 117 GuardElementNotHole ← Elements#113, SpectreMaskIndex#116 118 Constant true Bool 119 Test ← Constant#118 → block 15, block 14 1 0 Block 14 (split edge) 120 Constant magic optimized-out MagicOptimizedOut 121 Goto → block 18 Block 15 122 Constant magic optimized-out MagicOptimizedOut 123 Box ← Unbox#23 Value 124 Unbox Box#123 to Object (fallible) Object 125 Box ← Phi#98 Value 126 Unbox Box#125 to Int32 (fallible) Int32 127 GuardShape ← Unbox#124 Object 128 Elements ← GuardShape#127 Elements 129 InitializedLength ← Elements#128 Int32 130 BoundsCheck ← Unbox#126, InitializedLength#129 Int32 131 SpectreMaskIndex ← BoundsCheck#130, InitializedLength#129 Int32 132 GuardElementsArePacked ← Elements#128 133 LoadElement ← Elements#128, SpectreMaskIndex#131 Value 134 Constant 0x3 Int32 135 Box ← Lambda#12 Value 136 Unbox Box#135 to Object (fallible) Object 137 GuardToFunction ← Unbox#136 Object 138 GuardFunctionScript ← GuardToFunction#137 Object 139 Goto → block 16 Block 16 140 Constant undefined Undefined 141 Constant 0x2 Int32 142 Unbox LoadElement#133 to Double (fallible) Double 143 ToDouble ← Constant#141 Double 144 Mul ← Unbox#142, ToDouble#143 [double] Double 145 Goto → block 17 Block 17 146 Constant magic optimized-out MagicOptimizedOut 147 Box ← NewArrayDynamicLength#89 Value 148 Unbox Box#147 to Object (fallible) Object 149 Box ← Phi#98 Value 150 Unbox Box#149 to Int32 (fallible) Int32 151 GuardShape ← Unbox#148 Object 152 Elements ← GuardShape#151 Elements 153 StoreElementHole ← GuardShape#151, Elements#152, Unbox#150, Mul#144 154 Goto → block 18 Block 18 (backedge) 155 Constant magic optimized-out MagicOptimizedOut 156 Box ← Phi#98 Value 157 Unbox Box#156 to Int32 (fallible) Int32 158 Constant 0x1 Int32 159 Add ← Unbox#157, Constant#158 [int32] Int32 160 Goto → block 12 Block 19 161 Box ← NewArrayDynamicLength#89 Value 162 Unbox Box#161 to Object (fallible) Object 163 GuardShape ← Unbox#162 Object 164 Constant object 104289c3e088 (Array) Object 165 Constant function filter (self-hosted:183) at 104289c47970 Object 166 Constant function complex4/< (-e:18) at 104289c63d60 Object 167 Lambda ← FunctionEnvironment#6, Constant#166 Object 168 Constant 0x1 Int32 169 Constant function filter (self-hosted:183) at 104289c47970 Object 170 GuardSpecificFunction ← Constant#165, Constant#169 Object 171 Goto → block 20 Block 20 172 Constant undefined Undefined 173 Constant function ToObject at 104289c6c740 Object 174 Box ← Constant#173 Value 175 DebugCheckSelfHosted ← Box#174 Value 176 Constant undefined Undefined 177 Constant 0x1 Int32 178 Box ← NewArrayDynamicLength#89 Value 179 Unbox Box#178 to Object (fallible) Object 180 Constant function ToLength at 104289c6c778 Object 181 Box ← Constant#180 Value 182 DebugCheckSelfHosted ← Box#181 Value 183 Constant undefined Undefined 184 GuardShape ← Unbox#179 Object 185 Elements ← GuardShape#184 Elements 186 ArrayLength ← Elements#185 Int32 187 Constant 0x1 Int32 188 Constant 0x0 Int32 189 MinMax ← ArrayLength#186, Constant#188 (max) Int32 190 Constant 0x1 Int32 191 Constant 0x0 Int32 192 Compare ← Constant#190, Constant#191 StrictEq Bool 193 Test ← Compare#192 → block 21, block 22 1 0 Block 21 194 CallGetIntrinsicValue Value 195 DebugCheckSelfHosted ← CallGetIntrinsicValue#194 Value 196 Constant undefined Undefined 197 Constant 0x37 Int32 198 Constant 0x0 Int32 199 Constant string 104289c28540 String 200 Bail 201 Unreachable Block 22 202 Constant function IsCallable at 104289c6c7b0 Object 203 Box ← Constant#202 Value 204 DebugCheckSelfHosted ← Box#203 Value 205 Constant undefined Undefined 206 Constant 0x1 Int32 207 IsCallable ← Lambda#167 Bool 208 Test ← IsCallable#207 → block 24, block 23 1 0 Block 23 209 CallGetIntrinsicValue Value 210 DebugCheckSelfHosted ← CallGetIntrinsicValue#209 Value 211 Constant undefined Undefined 212 Constant 0xc Int32 213 CallGetIntrinsicValue Value 214 DebugCheckSelfHosted ← CallGetIntrinsicValue#213 Value 215 Constant undefined Undefined 216 Constant 0x0 Int32 217 Bail 218 Unreachable Block 24 219 Constant 0x1 Int32 220 Constant 0x1 Int32 221 Compare ← Constant#219, Constant#220 Gt Bool 222 Test ← Compare#221 → block 25, block 26 1 0 Block 25 223 Constant 0x1 Int32 224 GetInlinedArgument ← Constant#223, Lambda#167 Value 225 Goto → block 27 Block 26 226 Constant undefined Undefined 227 Box ← Constant#226 Value 228 Goto → block 27 Block 27 229 Phi ← Box#227, GetInlinedArgument#224 Value 230 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 231 Box ← Constant#230 Value 232 DebugCheckSelfHosted ← Box#231 Value 233 Constant undefined Undefined 234 Constant 0x1 Int32 235 HasShape ← Unbox#179 Bool 236 Test ← HasShape#235 → block 28, block 29 1 0 Block 28 237 Constant shape at 104289c64f00 Shape 238 NewArrayObject ← Constant#237 Object 239 Goto → block 30 Block 29 240 CallGetIntrinsicValue Value 241 DebugCheckSelfHosted ← CallGetIntrinsicValue#240 Value 242 Constant undefined Undefined 243 Constant 0x0 Int32 244 Bail 245 Unreachable Block 30 246 Constant 0x0 Int32 247 Constant 0x0 Int32 248 Goto → block 31 Block 31 (loop header) 249 Phi ← Constant#246, Add#315 Int32 250 Phi ← Constant#247, Phi#310 Int32 251 Constant magic optimized-out MagicOptimizedOut 252 InterruptCheck 253 Box ← Phi#249 Value 254 Unbox Box#253 to Int32 (fallible) Int32 255 Box ← MinMax#189 Value 256 Unbox Box#255 to Int32 (fallible) Int32 257 Compare ← Unbox#254, Unbox#256 Lt Bool 258 Test ← Compare#257 → block 32, block 40 1 0 Block 32 259 Constant magic optimized-out MagicOptimizedOut 260 Box ← Unbox#179 Value 261 Unbox Box#260 to Object (fallible) Object 262 Box ← Phi#249 Value 263 Unbox Box#262 to Int32 (fallible) Int32 264 GuardShape ← Unbox#261 Object 265 Elements ← GuardShape#264 Elements 266 InitializedLength ← Elements#265 Int32 267 BoundsCheck ← Unbox#263, InitializedLength#266 Int32 268 SpectreMaskIndex ← BoundsCheck#267, InitializedLength#266 Int32 269 GuardElementNotHole ← Elements#265, SpectreMaskIndex#268 270 Constant true Bool 271 Test ← Constant#270 → block 34, block 33 1 0 Block 33 (split edge) 272 Constant magic optimized-out MagicOptimizedOut 273 Goto → block 39 Block 34 274 Constant magic optimized-out MagicOptimizedOut 275 Box ← Unbox#179 Value 276 Unbox Box#275 to Object (fallible) Object 277 Box ← Phi#249 Value 278 Unbox Box#277 to Int32 (fallible) Int32 279 GuardShape ← Unbox#276 Object 280 Elements ← GuardShape#279 Elements 281 InitializedLength ← Elements#280 Int32 282 BoundsCheck ← Unbox#278, InitializedLength#281 Int32 283 SpectreMaskIndex ← BoundsCheck#282, InitializedLength#281 Int32 284 GuardElementsArePacked ← Elements#280 285 LoadElement ← Elements#280, SpectreMaskIndex#283 Value 286 Constant 0x3 Int32 287 Box ← Lambda#167 Value 288 Unbox Box#287 to Object (fallible) Object 289 GuardToFunction ← Unbox#288 Object 290 GuardFunctionScript ← GuardToFunction#289 Object 291 Goto → block 35 Block 35 292 Constant undefined Undefined 293 Constant 0x32 Int32 294 Unbox LoadElement#285 to Double (fallible) Double 295 ToDouble ← Constant#293 Double 296 Compare ← Unbox#294, ToDouble#295 Gt Bool 297 Goto → block 36 Block 36 298 Test ← Compare#296 → block 38, block 37 1 0 Block 37 (split edge) 299 Goto → block 39 Block 38 300 Box ← Phi#250 Value 301 Unbox Box#300 to Int32 (fallible) Int32 302 Constant 0x1 Int32 303 Add ← Unbox#301, Constant#302 [int32] Int32 304 Box ← NewArrayObject#238 Value 305 Unbox Box#304 to Object (fallible) Object 306 GuardShape ← Unbox#305 Object 307 Elements ← GuardShape#306 Elements 308 StoreElementHole ← GuardShape#306, Elements#307, Unbox#301, LoadElement#285 309 Goto → block 39 Block 39 (backedge) 310 Phi ← Add#303, Phi#250, Phi#250 Int32 311 Constant magic optimized-out MagicOptimizedOut 312 Box ← Phi#249 Value 313 Unbox Box#312 to Int32 (fallible) Int32 314 Constant 0x1 Int32 315 Add ← Unbox#313, Constant#314 [int32] Int32 316 Goto → block 31 Block 40 317 Box ← NewArrayObject#238 Value 318 Unbox Box#317 to Object (fallible) Object 319 GuardShape ← Unbox#318 Object 320 Constant object 104289c3e088 (Array) Object 321 Constant function reduce (self-hosted:205) at 104289c479c0 Object 322 Constant function complex4/< (-e:18) at 104289c63d98 Object 323 Lambda ← FunctionEnvironment#6, Constant#322 Object 324 Constant 0x0 Int32 325 Constant 0x2 Int32 326 Constant function reduce (self-hosted:205) at 104289c479c0 Object 327 GuardSpecificFunction ← Constant#321, Constant#326 Object 328 Call ← GuardSpecificFunction#327, NewArrayObject#238, Lambda#323, Constant#324 Value 329 Return ← Call#328
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 9 Constant object 104289c3e088 (Array) Object 10 Constant function map (self-hosted:163) at 104289c47920 Object 11 Constant function complex4/< (-e:18) at 104289c63d28 Object 12 Lambda ← FunctionEnvironment#6, Constant#11 Object 13 Constant 0x1 Int32 14 Constant function map (self-hosted:163) at 104289c47920 Object 15 GuardSpecificFunction ← Constant#10, Constant#14 Object 16 Goto → block 1 Block 1 17 Constant undefined Undefined 18 Constant function ToObject at 104289c6c740 Object 19 Box ← Constant#18 Value 20 DebugCheckSelfHosted ← Box#19 Value 21 Constant undefined Undefined 22 Constant 0x1 Int32 23 Unbox Parameter#1 to Object (fallible) Object 24 Constant function ToLength at 104289c6c778 Object 25 Box ← Constant#24 Value 26 DebugCheckSelfHosted ← Box#25 Value 27 Constant undefined Undefined 28 GuardShape ← Unbox#23 Object 29 Elements ← GuardShape#28 Elements 30 ArrayLength ← Elements#29 Int32 31 Constant 0x1 Int32 32 Constant 0x0 Int32 33 MinMax ← ArrayLength#30, Constant#32 (max) Int32 34 Constant 0x1 Int32 35 Constant 0x0 Int32 36 Compare ← Constant#34, Constant#35 StrictEq Bool 37 Test ← Compare#36 → block 2, block 3 1 0 Block 2 38 CallGetIntrinsicValue Value 39 DebugCheckSelfHosted ← CallGetIntrinsicValue#38 Value 40 Constant undefined Undefined 41 Constant 0x37 Int32 42 Constant 0x0 Int32 43 Constant string 104289c2e080 String 44 Bail 45 Unreachable Block 3 46 Constant function IsCallable at 104289c6c7b0 Object 47 Box ← Constant#46 Value 48 DebugCheckSelfHosted ← Box#47 Value 49 Constant undefined Undefined 50 Constant 0x1 Int32 51 IsCallable ← Lambda#12 Bool 52 Test ← IsCallable#51 → block 5, block 4 1 0 Block 4 53 CallGetIntrinsicValue Value 54 DebugCheckSelfHosted ← CallGetIntrinsicValue#53 Value 55 Constant undefined Undefined 56 Constant 0xc Int32 57 CallGetIntrinsicValue Value 58 DebugCheckSelfHosted ← CallGetIntrinsicValue#57 Value 59 Constant undefined Undefined 60 Constant 0x0 Int32 61 Bail 62 Unreachable Block 5 63 Constant 0x1 Int32 64 Constant 0x1 Int32 65 Compare ← Constant#63, Constant#64 Gt Bool 66 Test ← Compare#65 → block 6, block 7 1 0 Block 6 67 Constant 0x1 Int32 68 GetInlinedArgument ← Constant#67, Lambda#12 Value 69 Goto → block 8 Block 7 70 Constant undefined Undefined 71 Box ← Constant#70 Value 72 Goto → block 8 Block 8 73 Phi ← Box#71, GetInlinedArgument#68 Value 74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 75 Box ← Constant#74 Value 76 DebugCheckSelfHosted ← Box#75 Value 77 Constant undefined Undefined 78 Constant 0x1 Int32 79 HasShape ← Unbox#23 Bool 80 Test ← HasShape#79 → block 9, block 10 1 0 Block 9 81 Constant function std_Array at 104289c6c820 Object 82 Box ← Constant#81 Value 83 DebugCheckSelfHosted ← Box#82 Value 84 Constant undefined Undefined 85 Constant 0x1 Int32 86 Unbox DebugCheckSelfHosted#83 to Object (fallible) Object 87 Constant function std_Array at 104289c6c820 Object 88 GuardSpecificFunction ← Unbox#86, Constant#87 Object 89 NewArrayDynamicLength ← MinMax#33 Object 90 Goto → block 11 Block 10 91 CallGetIntrinsicValue Value 92 DebugCheckSelfHosted ← CallGetIntrinsicValue#91 Value 93 Constant undefined Undefined 94 Bail 95 Unreachable Block 11 96 Constant 0x0 Int32 97 Goto → block 12 Block 12 (loop header) 98 Phi ← Constant#96, Add#159 Int32 99 Constant magic optimized-out MagicOptimizedOut 100 InterruptCheck 101 Box ← Phi#98 Value 102 Unbox Box#101 to Int32 (fallible) Int32 103 Box ← MinMax#33 Value 104 Unbox Box#103 to Int32 (fallible) Int32 105 Compare ← Unbox#102, Unbox#104 Lt Bool 106 Test ← Compare#105 → block 13, block 19 1 0 Block 13 107 Constant magic optimized-out MagicOptimizedOut 108 Box ← Unbox#23 Value 109 Unbox Box#108 to Object (fallible) Object 110 Box ← Phi#98 Value 111 Unbox Box#110 to Int32 (fallible) Int32 112 GuardShape ← Unbox#109 Object 113 Elements ← GuardShape#112 Elements 114 InitializedLength ← Elements#113 Int32 115 BoundsCheck ← Unbox#111, InitializedLength#114 Int32 116 SpectreMaskIndex ← BoundsCheck#115, InitializedLength#114 Int32 117 GuardElementNotHole ← Elements#113, SpectreMaskIndex#116 118 Constant true Bool 119 Test ← Constant#118 → block 15, block 14 1 0 Block 14 (split edge) 120 Constant magic optimized-out MagicOptimizedOut 121 Goto → block 18 Block 15 122 Constant magic optimized-out MagicOptimizedOut 123 Box ← Unbox#23 Value 124 Unbox Box#123 to Object (fallible) Object 125 Box ← Phi#98 Value 126 Unbox Box#125 to Int32 (fallible) Int32 127 GuardShape ← Unbox#124 Object 128 Elements ← GuardShape#127 Elements 129 InitializedLength ← Elements#128 Int32 130 BoundsCheck ← Unbox#126, InitializedLength#129 Int32 131 SpectreMaskIndex ← BoundsCheck#130, InitializedLength#129 Int32 132 GuardElementsArePacked ← Elements#128 133 LoadElement ← Elements#128, SpectreMaskIndex#131 Value 134 Constant 0x3 Int32 135 Box ← Lambda#12 Value 136 Unbox Box#135 to Object (fallible) Object 137 GuardToFunction ← Unbox#136 Object 138 GuardFunctionScript ← GuardToFunction#137 Object 139 Goto → block 16 Block 16 140 Constant undefined Undefined 141 Constant 0x2 Int32 142 Unbox LoadElement#133 to Double (fallible) Double 143 ToDouble ← Constant#141 Double 144 Mul ← Unbox#142, ToDouble#143 [double] Double 145 Goto → block 17 Block 17 146 Constant magic optimized-out MagicOptimizedOut 147 Box ← NewArrayDynamicLength#89 Value 148 Unbox Box#147 to Object (fallible) Object 149 Box ← Phi#98 Value 150 Unbox Box#149 to Int32 (fallible) Int32 151 GuardShape ← Unbox#148 Object 152 Elements ← GuardShape#151 Elements 153 StoreElementHole ← GuardShape#151, Elements#152, Unbox#150, Mul#144 154 Goto → block 18 Block 18 (backedge) 155 Constant magic optimized-out MagicOptimizedOut 156 Box ← Phi#98 Value 157 Unbox Box#156 to Int32 (fallible) Int32 158 Constant 0x1 Int32 159 Add ← Unbox#157, Constant#158 [int32] Int32 160 Goto → block 12 Block 19 161 Box ← NewArrayDynamicLength#89 Value 162 Unbox Box#161 to Object (fallible) Object 163 GuardShape ← Unbox#162 Object 164 Constant object 104289c3e088 (Array) Object 165 Constant function filter (self-hosted:183) at 104289c47970 Object 166 Constant function complex4/< (-e:18) at 104289c63d60 Object 167 Lambda ← FunctionEnvironment#6, Constant#166 Object 168 Constant 0x1 Int32 169 Constant function filter (self-hosted:183) at 104289c47970 Object 170 GuardSpecificFunction ← Constant#165, Constant#169 Object 171 Goto → block 20 Block 20 172 Constant undefined Undefined 173 Constant function ToObject at 104289c6c740 Object 174 Box ← Constant#173 Value 175 DebugCheckSelfHosted ← Box#174 Value 176 Constant undefined Undefined 177 Constant 0x1 Int32 178 Box ← NewArrayDynamicLength#89 Value 179 Unbox Box#178 to Object (fallible) Object 180 Constant function ToLength at 104289c6c778 Object 181 Box ← Constant#180 Value 182 DebugCheckSelfHosted ← Box#181 Value 183 Constant undefined Undefined 184 GuardShape ← Unbox#179 Object 185 Elements ← GuardShape#184 Elements 186 ArrayLength ← Elements#185 Int32 187 Constant 0x1 Int32 188 Constant 0x0 Int32 189 MinMax ← ArrayLength#186, Constant#188 (max) Int32 190 Constant 0x1 Int32 191 Constant 0x0 Int32 192 Compare ← Constant#190, Constant#191 StrictEq Bool 193 Test ← Compare#192 → block 21, block 22 1 0 Block 21 194 CallGetIntrinsicValue Value 195 DebugCheckSelfHosted ← CallGetIntrinsicValue#194 Value 196 Constant undefined Undefined 197 Constant 0x37 Int32 198 Constant 0x0 Int32 199 Constant string 104289c28540 String 200 Bail 201 Unreachable Block 22 202 Constant function IsCallable at 104289c6c7b0 Object 203 Box ← Constant#202 Value 204 DebugCheckSelfHosted ← Box#203 Value 205 Constant undefined Undefined 206 Constant 0x1 Int32 207 IsCallable ← Lambda#167 Bool 208 Test ← IsCallable#207 → block 24, block 23 1 0 Block 23 209 CallGetIntrinsicValue Value 210 DebugCheckSelfHosted ← CallGetIntrinsicValue#209 Value 211 Constant undefined Undefined 212 Constant 0xc Int32 213 CallGetIntrinsicValue Value 214 DebugCheckSelfHosted ← CallGetIntrinsicValue#213 Value 215 Constant undefined Undefined 216 Constant 0x0 Int32 217 Bail 218 Unreachable Block 24 219 Constant 0x1 Int32 220 Constant 0x1 Int32 221 Compare ← Constant#219, Constant#220 Gt Bool 222 Test ← Compare#221 → block 25, block 26 1 0 Block 25 223 Constant 0x1 Int32 224 GetInlinedArgument ← Constant#223, Lambda#167 Value 225 Goto → block 27 Block 26 226 Constant undefined Undefined 227 Box ← Constant#226 Value 228 Goto → block 27 Block 27 229 Phi ← Box#227, GetInlinedArgument#224 Value 230 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 231 Box ← Constant#230 Value 232 DebugCheckSelfHosted ← Box#231 Value 233 Constant undefined Undefined 234 Constant 0x1 Int32 235 HasShape ← Unbox#179 Bool 236 Test ← HasShape#235 → block 28, block 29 1 0 Block 28 237 Constant shape at 104289c64f00 Shape 238 NewArrayObject ← Constant#237 Object 239 Goto → block 30 Block 29 240 CallGetIntrinsicValue Value 241 DebugCheckSelfHosted ← CallGetIntrinsicValue#240 Value 242 Constant undefined Undefined 243 Constant 0x0 Int32 244 Bail 245 Unreachable Block 30 246 Constant 0x0 Int32 247 Constant 0x0 Int32 248 Goto → block 31 Block 31 (loop header) 249 Phi ← Constant#246, Add#315 Int32 250 Phi ← Constant#247, Phi#310 Int32 251 Constant magic optimized-out MagicOptimizedOut 252 InterruptCheck 253 Box ← Phi#249 Value 254 Unbox Box#253 to Int32 (fallible) Int32 255 Box ← MinMax#189 Value 256 Unbox Box#255 to Int32 (fallible) Int32 257 Compare ← Unbox#254, Unbox#256 Lt Bool 258 Test ← Compare#257 → block 32, block 40 1 0 Block 32 259 Constant magic optimized-out MagicOptimizedOut 260 Box ← Unbox#179 Value 261 Unbox Box#260 to Object (fallible) Object 262 Box ← Phi#249 Value 263 Unbox Box#262 to Int32 (fallible) Int32 264 GuardShape ← Unbox#261 Object 265 Elements ← GuardShape#264 Elements 266 InitializedLength ← Elements#265 Int32 267 BoundsCheck ← Unbox#263, InitializedLength#266 Int32 268 SpectreMaskIndex ← BoundsCheck#267, InitializedLength#266 Int32 269 GuardElementNotHole ← Elements#265, SpectreMaskIndex#268 270 Constant true Bool 271 Test ← Constant#270 → block 34, block 33 1 0 Block 33 (split edge) 272 Constant magic optimized-out MagicOptimizedOut 273 Goto → block 39 Block 34 274 Constant magic optimized-out MagicOptimizedOut 275 Box ← Unbox#179 Value 276 Unbox Box#275 to Object (fallible) Object 277 Box ← Phi#249 Value 278 Unbox Box#277 to Int32 (fallible) Int32 279 GuardShape ← Unbox#276 Object 280 Elements ← GuardShape#279 Elements 281 InitializedLength ← Elements#280 Int32 282 BoundsCheck ← Unbox#278, InitializedLength#281 Int32 283 SpectreMaskIndex ← BoundsCheck#282, InitializedLength#281 Int32 284 GuardElementsArePacked ← Elements#280 285 LoadElement ← Elements#280, SpectreMaskIndex#283 Value 286 Constant 0x3 Int32 287 Box ← Lambda#167 Value 288 Unbox Box#287 to Object (fallible) Object 289 GuardToFunction ← Unbox#288 Object 290 GuardFunctionScript ← GuardToFunction#289 Object 291 Goto → block 35 Block 35 292 Constant undefined Undefined 293 Constant 0x32 Int32 294 Unbox LoadElement#285 to Double (fallible) Double 295 ToDouble ← Constant#293 Double 296 Compare ← Unbox#294, ToDouble#295 Gt Bool 297 Goto → block 36 Block 36 298 Test ← Compare#296 → block 38, block 37 1 0 Block 37 (split edge) 299 Goto → block 39 Block 38 300 Box ← Phi#250 Value 301 Unbox Box#300 to Int32 (fallible) Int32 302 Constant 0x1 Int32 303 Add ← Unbox#301, Constant#302 [int32] Int32 304 Box ← NewArrayObject#238 Value 305 Unbox Box#304 to Object (fallible) Object 306 GuardShape ← Unbox#305 Object 307 Elements ← GuardShape#306 Elements 308 StoreElementHole ← GuardShape#306, Elements#307, Unbox#301, LoadElement#285 309 Goto → block 39 Block 39 (backedge) 310 Phi ← Add#303, Phi#250, Phi#250 Int32 311 Constant magic optimized-out MagicOptimizedOut 312 Box ← Phi#249 Value 313 Unbox Box#312 to Int32 (fallible) Int32 314 Constant 0x1 Int32 315 Add ← Unbox#313, Constant#314 [int32] Int32 316 Goto → block 31 Block 40 317 Box ← NewArrayObject#238 Value 318 Unbox Box#317 to Object (fallible) Object 319 GuardShape ← Unbox#318 Object 320 Constant object 104289c3e088 (Array) Object 321 Constant function reduce (self-hosted:205) at 104289c479c0 Object 322 Constant function complex4/< (-e:18) at 104289c63d98 Object 323 Lambda ← FunctionEnvironment#6, Constant#322 Object 324 Constant 0x0 Int32 325 Constant 0x2 Int32 326 Constant function reduce (self-hosted:205) at 104289c479c0 Object 327 GuardSpecificFunction ← Constant#321, Constant#326 Object 328 Call ← GuardSpecificFunction#327, NewArrayObject#238, Lambda#323, Constant#324 Value 329 Return ← Call#328
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 10 Constant function map (self-hosted:163) at 104289c47920 Object 11 Constant function complex4/< (-e:18) at 104289c63d28 Object 12 Lambda ← FunctionEnvironment#6, Constant#11 Object 16 Goto → block 1 Block 1 18 Constant function ToObject at 104289c6c740 Object 19 Box ← Constant#18 Value 20 DebugCheckSelfHosted ← Box#19 Value 24 Constant function ToLength at 104289c6c778 Object 25 Box ← Constant#24 Value 26 DebugCheckSelfHosted ← Box#25 Value 28 GuardShape ← Unbox#7 Object 29 Elements ← GuardShape#28 Elements 30 ArrayLength ← Elements#29 Int32 377 Goto → block 2 Block 2 46 Constant function IsCallable at 104289c6c7b0 Object 47 Box ← Constant#46 Value 48 DebugCheckSelfHosted ← Box#47 Value 378 AssertClass ← Lambda#12 380 Goto → block 3 Block 3 382 Goto → block 4 Block 4 71 Box ← Constant#2 Value 72 Goto → block 5 Block 5 74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 75 Box ← Constant#74 Value 76 DebugCheckSelfHosted ← Box#75 Value 79 HasShape ← Unbox#7 Bool 80 Test ← HasShape#79 → block 6, block 7 1 0 Block 6 81 Constant function std_Array at 104289c6c820 Object 82 Box ← Constant#81 Value 83 DebugCheckSelfHosted ← Box#82 Value 86 Unbox DebugCheckSelfHosted#83 to Object (fallible) Object 88 GuardSpecificFunction ← Unbox#86, Constant#81 Object 89 NewArrayDynamicLength ← ArrayLength#30 Object 90 Goto → block 8 Block 7 91 CallGetIntrinsicValue Value 92 DebugCheckSelfHosted ← CallGetIntrinsicValue#91 Value 94 Bail 95 Unreachable Block 8 96 Constant 0x0 Int32 97 Goto → block 9 Block 9 (loop header) 98 Phi ← Constant#96, Add#159 Int32 99 Constant magic optimized-out MagicOptimizedOut 100 InterruptCheck 105 Compare ← Phi#98, ArrayLength#30 Lt Bool 106 Test ← Compare#105 → block 10, block 15 1 0 Block 10 112 GuardShape ← Unbox#7 Object 113 Elements ← GuardShape#112 Elements 114 InitializedLength ← Elements#113 Int32 115 BoundsCheck ← Phi#98, InitializedLength#114 Int32 116 SpectreMaskIndex ← BoundsCheck#115, InitializedLength#114 Int32 117 GuardElementNotHole ← Elements#113, SpectreMaskIndex#116 383 Goto → block 11 Block 11 132 GuardElementsArePacked ← Elements#113 133 LoadElement ← Elements#113, SpectreMaskIndex#116 Value 384 AssertClass ← Lambda#12 139 Goto → block 12 Block 12 142 Unbox LoadElement#133 to Double (fallible) Double 385 Constant 2 Double 144 Mul ← Unbox#142, Constant#385 [double] Double 145 Goto → block 13 Block 13 151 GuardShape ← NewArrayDynamicLength#89 Object 152 Elements ← GuardShape#151 Elements 153 StoreElementHole ← GuardShape#151, Elements#152, Phi#98, Mul#144 154 Goto → block 14 Block 14 (backedge) 158 Constant 0x1 Int32 159 Add ← Phi#98, Constant#158 [int32] Int32 160 Goto → block 9 Block 15 163 GuardShape ← NewArrayDynamicLength#89 Object 165 Constant function filter (self-hosted:183) at 104289c47970 Object 166 Constant function complex4/< (-e:18) at 104289c63d60 Object 167 Lambda ← FunctionEnvironment#6, Constant#166 Object 171 Goto → block 16 Block 16 175 DebugCheckSelfHosted ← Box#19 Value 182 DebugCheckSelfHosted ← Box#25 Value 184 GuardShape ← NewArrayDynamicLength#89 Object 185 Elements ← GuardShape#184 Elements 186 ArrayLength ← Elements#185 Int32 387 Goto → block 17 Block 17 204 DebugCheckSelfHosted ← Box#47 Value 388 AssertClass ← Lambda#167 390 Goto → block 18 Block 18 392 Goto → block 19 Block 19 228 Goto → block 20 Block 20 232 DebugCheckSelfHosted ← Box#75 Value 235 HasShape ← NewArrayDynamicLength#89 Bool 236 Test ← HasShape#235 → block 21, block 22 1 0 Block 21 237 Constant shape at 104289c64f00 Shape 238 NewArrayObject ← Constant#237 Object 239 Goto → block 23 Block 22 240 CallGetIntrinsicValue Value 241 DebugCheckSelfHosted ← CallGetIntrinsicValue#240 Value 244 Bail 245 Unreachable Block 23 248 Goto → block 24 Block 24 (loop header) 249 Phi ← Constant#96, Add#315 Int32 250 Phi ← Constant#96, Phi#310 Int32 252 InterruptCheck 257 Compare ← Phi#249, ArrayLength#186 Lt Bool 258 Test ← Compare#257 → block 25, block 32 1 0 Block 25 264 GuardShape ← NewArrayDynamicLength#89 Object 265 Elements ← GuardShape#264 Elements 266 InitializedLength ← Elements#265 Int32 267 BoundsCheck ← Phi#249, InitializedLength#266 Int32 268 SpectreMaskIndex ← BoundsCheck#267, InitializedLength#266 Int32 269 GuardElementNotHole ← Elements#265, SpectreMaskIndex#268 393 Goto → block 26 Block 26 284 GuardElementsArePacked ← Elements#265 285 LoadElement ← Elements#265, SpectreMaskIndex#268 Value 394 AssertClass ← Lambda#167 291 Goto → block 27 Block 27 294 Unbox LoadElement#285 to Double (fallible) Double 395 Constant 50 Double 296 Compare ← Unbox#294, Constant#395 Gt Bool 297 Goto → block 28 Block 28 298 Test ← Compare#296 → block 30, block 29 1 0 Block 29 (split edge) 299 Goto → block 31 Block 30 302 Constant 0x1 Int32 303 Add ← Phi#250, Constant#302 [int32] Int32 306 GuardShape ← NewArrayObject#238 Object 307 Elements ← GuardShape#306 Elements 308 StoreElementHole ← GuardShape#306, Elements#307, Phi#250, LoadElement#285 309 Goto → block 31 Block 31 (backedge) 310 Phi ← Add#303, Phi#250 Int32 314 Constant 0x1 Int32 315 Add ← Phi#249, Constant#314 [int32] Int32 316 Goto → block 24 Block 32 319 GuardShape ← NewArrayObject#238 Object 321 Constant function reduce (self-hosted:205) at 104289c479c0 Object 322 Constant function complex4/< (-e:18) at 104289c63d98 Object 323 Lambda ← FunctionEnvironment#6, Constant#322 Object 328 Call ← Constant#321, NewArrayObject#238, Lambda#323, Constant#96 Value 329 Return ← Call#328
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 10 Constant function map (self-hosted:163) at 104289c47920 Object 11 Constant function complex4/< (-e:18) at 104289c63d28 Object 12 Lambda ← FunctionEnvironment#6, Constant#11 Object 16 Goto → block 1 Block 1 18 Constant function ToObject at 104289c6c740 Object 19 Box ← Constant#18 Value 20 DebugCheckSelfHosted ← Box#19 Value 24 Constant function ToLength at 104289c6c778 Object 25 Box ← Constant#24 Value 26 DebugCheckSelfHosted ← Box#25 Value 28 GuardShape ← Unbox#7 Object 29 Elements ← GuardShape#28 Elements 30 ArrayLength ← Elements#29 Int32 377 Goto → block 2 Block 2 46 Constant function IsCallable at 104289c6c7b0 Object 47 Box ← Constant#46 Value 48 DebugCheckSelfHosted ← Box#47 Value 378 AssertClass ← Lambda#12 380 Goto → block 3 Block 3 382 Goto → block 4 Block 4 71 Box ← Constant#2 Value 72 Goto → block 5 Block 5 74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 75 Box ← Constant#74 Value 76 DebugCheckSelfHosted ← Box#75 Value 79 HasShape ← Unbox#7 Bool 80 Test ← HasShape#79 → block 6, block 7 1 0 Block 6 81 Constant function std_Array at 104289c6c820 Object 82 Box ← Constant#81 Value 83 DebugCheckSelfHosted ← Box#82 Value 86 Unbox DebugCheckSelfHosted#83 to Object (fallible) Object 88 GuardSpecificFunction ← Unbox#86, Constant#81 Object 89 NewArrayDynamicLength ← ArrayLength#30 Object 90 Goto → block 8 Block 7 91 CallGetIntrinsicValue Value 92 DebugCheckSelfHosted ← CallGetIntrinsicValue#91 Value 94 Bail 95 Unreachable Block 8 96 Constant 0x0 Int32 112 GuardShape ← Unbox#7 Object 385 Constant 2 Double 151 GuardShape ← NewArrayDynamicLength#89 Object 97 Goto → block 9 Block 9 (loop header) 98 Phi ← Constant#96, Add#159 Int32 99 Constant magic optimized-out MagicOptimizedOut 100 InterruptCheck 105 Compare ← Phi#98, ArrayLength#30 Lt Bool 106 Test ← Compare#105 → block 10, block 15 1 0 Block 10 113 Elements ← GuardShape#112 Elements 114 InitializedLength ← Elements#113 Int32 115 BoundsCheck ← Phi#98, InitializedLength#114 Int32 116 SpectreMaskIndex ← BoundsCheck#115, InitializedLength#114 Int32 117 GuardElementNotHole ← Elements#113, SpectreMaskIndex#116 383 Goto → block 11 Block 11 132 GuardElementsArePacked ← Elements#113 133 LoadElement ← Elements#113, SpectreMaskIndex#116 Value 384 AssertClass ← Lambda#12 139 Goto → block 12 Block 12 142 Unbox LoadElement#133 to Double (fallible) Double 144 Mul ← Unbox#142, Constant#385 [double] Double 145 Goto → block 13 Block 13 152 Elements ← GuardShape#151 Elements 153 StoreElementHole ← GuardShape#151, Elements#152, Phi#98, Mul#144 154 Goto → block 14 Block 14 (backedge) 158 Constant 0x1 Int32 159 Add ← Phi#98, Constant#158 [int32] Int32 160 Goto → block 9 Block 15 163 GuardShape ← NewArrayDynamicLength#89 Object 165 Constant function filter (self-hosted:183) at 104289c47970 Object 166 Constant function complex4/< (-e:18) at 104289c63d60 Object 167 Lambda ← FunctionEnvironment#6, Constant#166 Object 171 Goto → block 16 Block 16 175 DebugCheckSelfHosted ← Box#19 Value 182 DebugCheckSelfHosted ← Box#25 Value 184 GuardShape ← NewArrayDynamicLength#89 Object 185 Elements ← GuardShape#184 Elements 186 ArrayLength ← Elements#185 Int32 387 Goto → block 17 Block 17 204 DebugCheckSelfHosted ← Box#47 Value 388 AssertClass ← Lambda#167 390 Goto → block 18 Block 18 392 Goto → block 19 Block 19 228 Goto → block 20 Block 20 232 DebugCheckSelfHosted ← Box#75 Value 235 HasShape ← NewArrayDynamicLength#89 Bool 236 Test ← HasShape#235 → block 21, block 22 1 0 Block 21 237 Constant shape at 104289c64f00 Shape 238 NewArrayObject ← Constant#237 Object 239 Goto → block 23 Block 22 240 CallGetIntrinsicValue Value 241 DebugCheckSelfHosted ← CallGetIntrinsicValue#240 Value 244 Bail 245 Unreachable Block 23 264 GuardShape ← NewArrayDynamicLength#89 Object 395 Constant 50 Double 306 GuardShape ← NewArrayObject#238 Object 248 Goto → block 24 Block 24 (loop header) 249 Phi ← Constant#96, Add#315 Int32 250 Phi ← Constant#96, Phi#310 Int32 252 InterruptCheck 257 Compare ← Phi#249, ArrayLength#186 Lt Bool 258 Test ← Compare#257 → block 25, block 32 1 0 Block 25 265 Elements ← GuardShape#264 Elements 266 InitializedLength ← Elements#265 Int32 267 BoundsCheck ← Phi#249, InitializedLength#266 Int32 268 SpectreMaskIndex ← BoundsCheck#267, InitializedLength#266 Int32 269 GuardElementNotHole ← Elements#265, SpectreMaskIndex#268 393 Goto → block 26 Block 26 284 GuardElementsArePacked ← Elements#265 285 LoadElement ← Elements#265, SpectreMaskIndex#268 Value 394 AssertClass ← Lambda#167 291 Goto → block 27 Block 27 294 Unbox LoadElement#285 to Double (fallible) Double 296 Compare ← Unbox#294, Constant#395 Gt Bool 297 Goto → block 28 Block 28 298 Test ← Compare#296 → block 30, block 29 1 0 Block 29 (split edge) 299 Goto → block 31 Block 30 302 Constant 0x1 Int32 303 Add ← Phi#250, Constant#302 [int32] Int32 307 Elements ← GuardShape#306 Elements 308 StoreElementHole ← GuardShape#306, Elements#307, Phi#250, LoadElement#285 309 Goto → block 31 Block 31 (backedge) 310 Phi ← Add#303, Phi#250 Int32 314 Constant 0x1 Int32 315 Add ← Phi#249, Constant#314 [int32] Int32 316 Goto → block 24 Block 32 319 GuardShape ← NewArrayObject#238 Object 321 Constant function reduce (self-hosted:205) at 104289c479c0 Object 322 Constant function complex4/< (-e:18) at 104289c63d98 Object 323 Lambda ← FunctionEnvironment#6, Constant#322 Object 328 Call ← Constant#321, NewArrayObject#238, Lambda#323, Constant#96 Value 329 Return ← Call#328
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 10 Constant function map (self-hosted:163) at 104289c47920 Object 11 Constant function complex4/< (-e:18) at 104289c63d28 Object 12 Lambda ← FunctionEnvironment#6, Constant#11 Object 16 Goto → block 1 Block 1 18 Constant function ToObject at 104289c6c740 Object 19 Box ← Constant#18 Value 20 DebugCheckSelfHosted ← Box#19 Value 24 Constant function ToLength at 104289c6c778 Object 25 Box ← Constant#24 Value 26 DebugCheckSelfHosted ← Box#25 Value 28 GuardShape ← Unbox#7 Object 29 Elements ← GuardShape#28 Elements 30 ArrayLength ← Elements#29 Int32 377 Goto → block 2 Block 2 46 Constant function IsCallable at 104289c6c7b0 Object 47 Box ← Constant#46 Value 48 DebugCheckSelfHosted ← Box#47 Value 378 AssertClass ← Lambda#12 380 Goto → block 3 Block 3 382 Goto → block 4 Block 4 71 Box ← Constant#2 Value 72 Goto → block 5 Block 5 74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 75 Box ← Constant#74 Value 76 DebugCheckSelfHosted ← Box#75 Value 79 HasShape ← Unbox#7 Bool 80 Test ← HasShape#79 → block 6, block 7 1 0 Block 6 81 Constant function std_Array at 104289c6c820 Object 82 Box ← Constant#81 Value 83 DebugCheckSelfHosted ← Box#82 Value 86 Unbox DebugCheckSelfHosted#83 to Object (fallible) Object 88 GuardSpecificFunction ← Unbox#86, Constant#81 Object 89 NewArrayDynamicLength ← ArrayLength#30 Object 90 Goto → block 8 Block 7 91 CallGetIntrinsicValue Value 92 DebugCheckSelfHosted ← CallGetIntrinsicValue#91 Value 94 Bail 95 Unreachable Block 8 96 Constant 0x0 Int32 112 GuardShape ← Unbox#7 Object 385 Constant 2 Double 151 GuardShape ← NewArrayDynamicLength#89 Object 97 Goto → block 9 Block 9 (loop header) 98 Phi ← Constant#96, Add#159 Int32 99 Constant magic optimized-out MagicOptimizedOut 100 InterruptCheck 105 Compare ← Phi#98, ArrayLength#30 Lt Bool 106 Test ← Compare#105 → block 10, block 15 1 0 Block 10 401 Beta ← ArrayLength#30 I[-2147483647, 2147483647] Int32 400 Beta ← Phi#98 I[-2147483648, 2147483646] Int32 113 Elements ← GuardShape#112 Elements 114 InitializedLength ← Elements#113 Int32 115 BoundsCheck ← Beta#400, InitializedLength#114 Int32 116 SpectreMaskIndex ← BoundsCheck#115, InitializedLength#114 Int32 117 GuardElementNotHole ← Elements#113, SpectreMaskIndex#116 383 Goto → block 11 Block 11 132 GuardElementsArePacked ← Elements#113 133 LoadElement ← Elements#113, SpectreMaskIndex#116 Value 384 AssertClass ← Lambda#12 139 Goto → block 12 Block 12 142 Unbox LoadElement#133 to Double (fallible) Double 144 Mul ← Unbox#142, Constant#385 [double] Double 145 Goto → block 13 Block 13 152 Elements ← GuardShape#151 Elements 153 StoreElementHole ← GuardShape#151, Elements#152, Beta#400, Mul#144 154 Goto → block 14 Block 14 (backedge) 158 Constant 0x1 Int32 159 Add ← Beta#400, Constant#158 [int32] Int32 160 Goto → block 9 Block 15 163 GuardShape ← NewArrayDynamicLength#89 Object 165 Constant function filter (self-hosted:183) at 104289c47970 Object 166 Constant function complex4/< (-e:18) at 104289c63d60 Object 167 Lambda ← FunctionEnvironment#6, Constant#166 Object 171 Goto → block 16 Block 16 175 DebugCheckSelfHosted ← Box#19 Value 182 DebugCheckSelfHosted ← Box#25 Value 184 GuardShape ← NewArrayDynamicLength#89 Object 185 Elements ← GuardShape#184 Elements 186 ArrayLength ← Elements#185 Int32 387 Goto → block 17 Block 17 204 DebugCheckSelfHosted ← Box#47 Value 388 AssertClass ← Lambda#167 390 Goto → block 18 Block 18 392 Goto → block 19 Block 19 228 Goto → block 20 Block 20 232 DebugCheckSelfHosted ← Box#75 Value 235 HasShape ← NewArrayDynamicLength#89 Bool 236 Test ← HasShape#235 → block 21, block 22 1 0 Block 21 237 Constant shape at 104289c64f00 Shape 238 NewArrayObject ← Constant#237 Object 239 Goto → block 23 Block 22 240 CallGetIntrinsicValue Value 241 DebugCheckSelfHosted ← CallGetIntrinsicValue#240 Value 244 Bail 245 Unreachable Block 23 264 GuardShape ← NewArrayDynamicLength#89 Object 395 Constant 50 Double 306 GuardShape ← NewArrayObject#238 Object 248 Goto → block 24 Block 24 (loop header) 249 Phi ← Constant#96, Add#315 Int32 250 Phi ← Constant#96, Phi#310 Int32 252 InterruptCheck 257 Compare ← Phi#249, ArrayLength#186 Lt Bool 258 Test ← Compare#257 → block 25, block 32 1 0 Block 25 399 Beta ← ArrayLength#186 I[-2147483647, 2147483647] Int32 398 Beta ← Phi#249 I[-2147483648, 2147483646] Int32 265 Elements ← GuardShape#264 Elements 266 InitializedLength ← Elements#265 Int32 267 BoundsCheck ← Beta#398, InitializedLength#266 Int32 268 SpectreMaskIndex ← BoundsCheck#267, InitializedLength#266 Int32 269 GuardElementNotHole ← Elements#265, SpectreMaskIndex#268 393 Goto → block 26 Block 26 284 GuardElementsArePacked ← Elements#265 285 LoadElement ← Elements#265, SpectreMaskIndex#268 Value 394 AssertClass ← Lambda#167 291 Goto → block 27 Block 27 294 Unbox LoadElement#285 to Double (fallible) Double 296 Compare ← Unbox#294, Constant#395 Gt Bool 297 Goto → block 28 Block 28 298 Test ← Compare#296 → block 30, block 29 1 0 Block 29 (split edge) 397 Beta ← Unbox#294 F[?, 50] (U NaN U -Infinity U -0) Double 299 Goto → block 31 Block 30 396 Beta ← Unbox#294 F[50, ?] (U Infinity) Double 302 Constant 0x1 Int32 303 Add ← Phi#250, Constant#302 [int32] Int32 307 Elements ← GuardShape#306 Elements 308 StoreElementHole ← GuardShape#306, Elements#307, Phi#250, LoadElement#285 309 Goto → block 31 Block 31 (backedge) 310 Phi ← Add#303, Phi#250 Int32 314 Constant 0x1 Int32 315 Add ← Beta#398, Constant#314 [int32] Int32 316 Goto → block 24 Block 32 319 GuardShape ← NewArrayObject#238 Object 321 Constant function reduce (self-hosted:205) at 104289c479c0 Object 322 Constant function complex4/< (-e:18) at 104289c63d98 Object 323 Lambda ← FunctionEnvironment#6, Constant#322 Object 328 Call ← Constant#321, NewArrayObject#238, Lambda#323, Constant#96 Value 329 Return ← Call#328
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 10 Constant function map (self-hosted:163) at 104289c47920 Object 11 Constant function complex4/< (-e:18) at 104289c63d28 Object 12 Lambda ← FunctionEnvironment#6, Constant#11 Object 16 Goto → block 1 Block 1 18 Constant function ToObject at 104289c6c740 Object 19 Box ← Constant#18 Value 20 DebugCheckSelfHosted ← Box#19 Value 24 Constant function ToLength at 104289c6c778 Object 25 Box ← Constant#24 Value 26 DebugCheckSelfHosted ← Box#25 Value 28 GuardShape ← Unbox#7 Object 29 Elements ← GuardShape#28 Elements 30 ArrayLength ← Elements#29 I[0, 2147483647]: Int32 377 Goto → block 2 Block 2 46 Constant function IsCallable at 104289c6c7b0 Object 47 Box ← Constant#46 Value 48 DebugCheckSelfHosted ← Box#47 Value 378 AssertClass ← Lambda#12 380 Goto → block 3 Block 3 382 Goto → block 4 Block 4 71 Box ← Constant#2 Value 72 Goto → block 5 Block 5 74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 75 Box ← Constant#74 Value 76 DebugCheckSelfHosted ← Box#75 Value 79 HasShape ← Unbox#7 Bool 80 Test ← HasShape#79 → block 6, block 7 1 0 Block 6 81 Constant function std_Array at 104289c6c820 Object 82 Box ← Constant#81 Value 83 DebugCheckSelfHosted ← Box#82 Value 86 Unbox DebugCheckSelfHosted#83 to Object (fallible) Object 88 GuardSpecificFunction ← Unbox#86, Constant#81 Object 89 NewArrayDynamicLength ← ArrayLength#30 Object 90 Goto → block 8 Block 7 91 CallGetIntrinsicValue Value 92 DebugCheckSelfHosted ← CallGetIntrinsicValue#91 Value 94 Bail 95 Unreachable Block 8 96 Constant 0x0 I[0, 0]: Int32 112 GuardShape ← Unbox#7 Object 385 Constant 2 I[2, 2]: Double 151 GuardShape ← NewArrayDynamicLength#89 Object 97 Goto → block 9 Block 9 (loop header) 98 Phi ← Constant#96, Add#159 I[0 {}, 2147483647 {[loop] #30-1}]: Int32 99 Constant magic optimized-out MagicOptimizedOut 100 InterruptCheck 105 Compare ← Phi#98, ArrayLength#30 Lt Bool 106 Test ← Compare#105 → block 10, block 15 1 0 Block 10 401 Beta ← ArrayLength#30 I[-2147483647, 2147483647] I[0, 2147483647]: Int32 400 Beta ← Phi#98 I[-2147483648, 2147483646] I[0, 2147483646]: Int32 113 Elements ← GuardShape#112 Elements 114 InitializedLength ← Elements#113 I[0, 268435453]: Int32 115 BoundsCheck ← Beta#400, InitializedLength#114 I[0, 2147483646]: Int32 116 SpectreMaskIndex ← BoundsCheck#115, InitializedLength#114 I[0, 2147483646]: Int32 117 GuardElementNotHole ← Elements#113, SpectreMaskIndex#116 383 Goto → block 11 Block 11 132 GuardElementsArePacked ← Elements#113 133 LoadElement ← Elements#113, SpectreMaskIndex#116 Value 384 AssertClass ← Lambda#12 139 Goto → block 12 Block 12 142 Unbox LoadElement#133 to Double (fallible) Double 144 Mul ← Unbox#142, Constant#385 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 145 Goto → block 13 Block 13 152 Elements ← GuardShape#151 Elements 153 StoreElementHole ← GuardShape#151, Elements#152, Beta#400, Mul#144 154 Goto → block 14 Block 14 (backedge) 158 Constant 0x1 I[1, 1]: Int32 159 Add ← Beta#400, Constant#158 [int32] I[1, 2147483647]: Int32 160 Goto → block 9 Block 15 163 GuardShape ← NewArrayDynamicLength#89 Object 165 Constant function filter (self-hosted:183) at 104289c47970 Object 166 Constant function complex4/< (-e:18) at 104289c63d60 Object 167 Lambda ← FunctionEnvironment#6, Constant#166 Object 171 Goto → block 16 Block 16 175 DebugCheckSelfHosted ← Box#19 Value 182 DebugCheckSelfHosted ← Box#25 Value 184 GuardShape ← NewArrayDynamicLength#89 Object 185 Elements ← GuardShape#184 Elements 186 ArrayLength ← Elements#185 I[0, 2147483647]: Int32 387 Goto → block 17 Block 17 204 DebugCheckSelfHosted ← Box#47 Value 388 AssertClass ← Lambda#167 390 Goto → block 18 Block 18 392 Goto → block 19 Block 19 228 Goto → block 20 Block 20 232 DebugCheckSelfHosted ← Box#75 Value 235 HasShape ← NewArrayDynamicLength#89 Bool 236 Test ← HasShape#235 → block 21, block 22 1 0 Block 21 237 Constant shape at 104289c64f00 Shape 238 NewArrayObject ← Constant#237 Object 239 Goto → block 23 Block 22 240 CallGetIntrinsicValue Value 241 DebugCheckSelfHosted ← CallGetIntrinsicValue#240 Value 244 Bail 245 Unreachable Block 23 264 GuardShape ← NewArrayDynamicLength#89 Object 395 Constant 50 I[50, 50]: Double 306 GuardShape ← NewArrayObject#238 Object 248 Goto → block 24 Block 24 (loop header) 249 Phi ← Constant#96, Add#315 I[0 {}, 2147483647 {[loop] #186-1}]: Int32 250 Phi ← Constant#96, Phi#310 Int32 252 InterruptCheck 257 Compare ← Phi#249, ArrayLength#186 Lt Bool 258 Test ← Compare#257 → block 25, block 32 1 0 Block 25 399 Beta ← ArrayLength#186 I[-2147483647, 2147483647] I[0, 2147483647]: Int32 398 Beta ← Phi#249 I[-2147483648, 2147483646] I[0, 2147483646]: Int32 265 Elements ← GuardShape#264 Elements 266 InitializedLength ← Elements#265 I[0, 268435453]: Int32 267 BoundsCheck ← Beta#398, InitializedLength#266 I[0, 2147483646]: Int32 268 SpectreMaskIndex ← BoundsCheck#267, InitializedLength#266 I[0, 2147483646]: Int32 269 GuardElementNotHole ← Elements#265, SpectreMaskIndex#268 393 Goto → block 26 Block 26 284 GuardElementsArePacked ← Elements#265 285 LoadElement ← Elements#265, SpectreMaskIndex#268 Value 394 AssertClass ← Lambda#167 291 Goto → block 27 Block 27 294 Unbox LoadElement#285 to Double (fallible) Double 296 Compare ← Unbox#294, Constant#395 Gt Bool 297 Goto → block 28 Block 28 298 Test ← Compare#296 → block 30, block 29 1 0 Block 29 (split edge) 397 Beta ← Unbox#294 F[?, 50] (U NaN U -Infinity U -0) F[?, 50] (U NaN U -Infinity U -0): Double 299 Goto → block 31 Block 30 396 Beta ← Unbox#294 F[50, ?] (U Infinity) F[50, ?] (U Infinity): Double 302 Constant 0x1 I[1, 1]: Int32 303 Add ← Phi#250, Constant#302 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 307 Elements ← GuardShape#306 Elements 308 StoreElementHole ← GuardShape#306, Elements#307, Phi#250, LoadElement#285 309 Goto → block 31 Block 31 (backedge) 310 Phi ← Add#303, Phi#250 Int32 314 Constant 0x1 I[1, 1]: Int32 315 Add ← Beta#398, Constant#314 [int32] I[1, 2147483647]: Int32 316 Goto → block 24 Block 32 319 GuardShape ← NewArrayObject#238 Object 321 Constant function reduce (self-hosted:205) at 104289c479c0 Object 322 Constant function complex4/< (-e:18) at 104289c63d98 Object 323 Lambda ← FunctionEnvironment#6, Constant#322 Object 328 Call ← Constant#321, NewArrayObject#238, Lambda#323, Constant#96 Value 329 Return ← Call#328
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 10 Constant function map (self-hosted:163) at 104289c47920 Object 11 Constant function complex4/< (-e:18) at 104289c63d28 Object 12 Lambda ← FunctionEnvironment#6, Constant#11 Object 16 Goto → block 1 Block 1 18 Constant function ToObject at 104289c6c740 Object 19 Box ← Constant#18 Value 20 DebugCheckSelfHosted ← Box#19 Value 24 Constant function ToLength at 104289c6c778 Object 25 Box ← Constant#24 Value 26 DebugCheckSelfHosted ← Box#25 Value 28 GuardShape ← Unbox#7 Object 29 Elements ← GuardShape#28 Elements 30 ArrayLength ← Elements#29 I[0, 2147483647]: Int32 377 Goto → block 2 Block 2 46 Constant function IsCallable at 104289c6c7b0 Object 47 Box ← Constant#46 Value 48 DebugCheckSelfHosted ← Box#47 Value 378 AssertClass ← Lambda#12 380 Goto → block 3 Block 3 382 Goto → block 4 Block 4 71 Box ← Constant#2 Value 72 Goto → block 5 Block 5 74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 75 Box ← Constant#74 Value 76 DebugCheckSelfHosted ← Box#75 Value 79 HasShape ← Unbox#7 Bool 80 Test ← HasShape#79 → block 6, block 7 1 0 Block 6 81 Constant function std_Array at 104289c6c820 Object 82 Box ← Constant#81 Value 83 DebugCheckSelfHosted ← Box#82 Value 86 Unbox DebugCheckSelfHosted#83 to Object (fallible) Object 88 GuardSpecificFunction ← Unbox#86, Constant#81 Object 89 NewArrayDynamicLength ← ArrayLength#30 Object 90 Goto → block 8 Block 7 91 CallGetIntrinsicValue Value 92 DebugCheckSelfHosted ← CallGetIntrinsicValue#91 Value 94 Bail 95 Unreachable Block 8 96 Constant 0x0 I[0, 0]: Int32 112 GuardShape ← Unbox#7 Object 385 Constant 2 I[2, 2]: Double 151 GuardShape ← NewArrayDynamicLength#89 Object 97 Goto → block 9 Block 9 (loop header) 98 Phi ← Constant#96, Add#159 I[0 {}, 2147483647 {[loop] #30-1}]: Int32 99 Constant magic optimized-out MagicOptimizedOut 100 InterruptCheck 105 Compare ← Phi#98, ArrayLength#30 Lt Bool 106 Test ← Compare#105 → block 10, block 15 1 0 Block 10 113 Elements ← GuardShape#112 Elements 114 InitializedLength ← Elements#113 I[0, 268435453]: Int32 115 BoundsCheck ← Phi#98, InitializedLength#114 I[0, 2147483646]: Int32 116 SpectreMaskIndex ← BoundsCheck#115, InitializedLength#114 I[0, 2147483646]: Int32 117 GuardElementNotHole ← Elements#113, SpectreMaskIndex#116 383 Goto → block 11 Block 11 132 GuardElementsArePacked ← Elements#113 133 LoadElement ← Elements#113, SpectreMaskIndex#116 Value 384 AssertClass ← Lambda#12 139 Goto → block 12 Block 12 142 Unbox LoadElement#133 to Double (fallible) Double 144 Mul ← Unbox#142, Constant#385 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 145 Goto → block 13 Block 13 152 Elements ← GuardShape#151 Elements 153 StoreElementHole ← GuardShape#151, Elements#152, Phi#98, Mul#144 154 Goto → block 14 Block 14 (backedge) 158 Constant 0x1 I[1, 1]: Int32 159 Add ← Phi#98, Constant#158 [int32] I[1, 2147483647]: Int32 160 Goto → block 9 Block 15 163 GuardShape ← NewArrayDynamicLength#89 Object 165 Constant function filter (self-hosted:183) at 104289c47970 Object 166 Constant function complex4/< (-e:18) at 104289c63d60 Object 167 Lambda ← FunctionEnvironment#6, Constant#166 Object 171 Goto → block 16 Block 16 175 DebugCheckSelfHosted ← Box#19 Value 182 DebugCheckSelfHosted ← Box#25 Value 184 GuardShape ← NewArrayDynamicLength#89 Object 185 Elements ← GuardShape#184 Elements 186 ArrayLength ← Elements#185 I[0, 2147483647]: Int32 387 Goto → block 17 Block 17 204 DebugCheckSelfHosted ← Box#47 Value 388 AssertClass ← Lambda#167 390 Goto → block 18 Block 18 392 Goto → block 19 Block 19 228 Goto → block 20 Block 20 232 DebugCheckSelfHosted ← Box#75 Value 235 HasShape ← NewArrayDynamicLength#89 Bool 236 Test ← HasShape#235 → block 21, block 22 1 0 Block 21 237 Constant shape at 104289c64f00 Shape 238 NewArrayObject ← Constant#237 Object 239 Goto → block 23 Block 22 240 CallGetIntrinsicValue Value 241 DebugCheckSelfHosted ← CallGetIntrinsicValue#240 Value 244 Bail 245 Unreachable Block 23 264 GuardShape ← NewArrayDynamicLength#89 Object 395 Constant 50 I[50, 50]: Double 306 GuardShape ← NewArrayObject#238 Object 248 Goto → block 24 Block 24 (loop header) 249 Phi ← Constant#96, Add#315 I[0 {}, 2147483647 {[loop] #186-1}]: Int32 250 Phi ← Constant#96, Phi#310 Int32 252 InterruptCheck 257 Compare ← Phi#249, ArrayLength#186 Lt Bool 258 Test ← Compare#257 → block 25, block 32 1 0 Block 25 265 Elements ← GuardShape#264 Elements 266 InitializedLength ← Elements#265 I[0, 268435453]: Int32 267 BoundsCheck ← Phi#249, InitializedLength#266 I[0, 2147483646]: Int32 268 SpectreMaskIndex ← BoundsCheck#267, InitializedLength#266 I[0, 2147483646]: Int32 269 GuardElementNotHole ← Elements#265, SpectreMaskIndex#268 393 Goto → block 26 Block 26 284 GuardElementsArePacked ← Elements#265 285 LoadElement ← Elements#265, SpectreMaskIndex#268 Value 394 AssertClass ← Lambda#167 291 Goto → block 27 Block 27 294 Unbox LoadElement#285 to Double (fallible) Double 296 Compare ← Unbox#294, Constant#395 Gt Bool 297 Goto → block 28 Block 28 298 Test ← Compare#296 → block 30, block 29 1 0 Block 29 (split edge) 299 Goto → block 31 Block 30 302 Constant 0x1 I[1, 1]: Int32 303 Add ← Phi#250, Constant#302 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 307 Elements ← GuardShape#306 Elements 308 StoreElementHole ← GuardShape#306, Elements#307, Phi#250, LoadElement#285 309 Goto → block 31 Block 31 (backedge) 310 Phi ← Add#303, Phi#250 Int32 314 Constant 0x1 I[1, 1]: Int32 315 Add ← Phi#249, Constant#314 [int32] I[1, 2147483647]: Int32 316 Goto → block 24 Block 32 319 GuardShape ← NewArrayObject#238 Object 321 Constant function reduce (self-hosted:205) at 104289c479c0 Object 322 Constant function complex4/< (-e:18) at 104289c63d98 Object 323 Lambda ← FunctionEnvironment#6, Constant#322 Object 328 Call ← Constant#321, NewArrayObject#238, Lambda#323, Constant#96 Value 329 Return ← Call#328
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 10 Constant function map (self-hosted:163) at 104289c47920 Object 11 Constant function complex4/< (-e:18) at 104289c63d28 Object 12 Lambda ← FunctionEnvironment#6, Constant#11 Object 16 Goto → block 1 Block 1 18 Constant function ToObject at 104289c6c740 Object 19 Box ← Constant#18 Value 20 DebugCheckSelfHosted ← Box#19 Value 24 Constant function ToLength at 104289c6c778 Object 25 Box ← Constant#24 Value 26 DebugCheckSelfHosted ← Box#25 Value 28 GuardShape ← Unbox#7 Object 29 Elements ← GuardShape#28 Elements 30 ArrayLength ← Elements#29 I[0, 2147483647]: Int32 377 Goto → block 2 Block 2 46 Constant function IsCallable at 104289c6c7b0 Object 47 Box ← Constant#46 Value 48 DebugCheckSelfHosted ← Box#47 Value 378 AssertClass ← Lambda#12 380 Goto → block 3 Block 3 382 Goto → block 4 Block 4 71 Box ← Constant#2 Value 72 Goto → block 5 Block 5 74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 75 Box ← Constant#74 Value 76 DebugCheckSelfHosted ← Box#75 Value 79 HasShape ← Unbox#7 Bool 80 Test ← HasShape#79 → block 6, block 7 1 0 Block 6 81 Constant function std_Array at 104289c6c820 Object 82 Box ← Constant#81 Value 83 DebugCheckSelfHosted ← Box#82 Value 86 Unbox DebugCheckSelfHosted#83 to Object (fallible) Object 88 GuardSpecificFunction ← Unbox#86, Constant#81 Object 89 NewArrayDynamicLength ← ArrayLength#30 Object 90 Goto → block 8 Block 7 91 CallGetIntrinsicValue Value 92 DebugCheckSelfHosted ← CallGetIntrinsicValue#91 Value 94 Bail 95 Unreachable Block 8 96 Constant 0x0 I[0, 0]: Int32 112 GuardShape ← Unbox#7 Object 385 Constant 2 I[2, 2]: Double 151 GuardShape ← NewArrayDynamicLength#89 Object 97 Goto → block 9 Block 9 (loop header) 98 Phi ← Constant#96, Add#159 I[0 {}, 2147483647 {[loop] #30-1}]: Int32 99 Constant magic optimized-out MagicOptimizedOut 100 InterruptCheck 105 Compare ← Phi#98, ArrayLength#30 Lt Bool 106 Test ← Compare#105 → block 10, block 15 1 0 Block 10 113 Elements ← GuardShape#112 Elements 114 InitializedLength ← Elements#113 I[0, 268435453]: Int32 115 BoundsCheck ← Phi#98, InitializedLength#114 I[0, 2147483646]: Int32 116 SpectreMaskIndex ← BoundsCheck#115, InitializedLength#114 I[0, 2147483646]: Int32 117 GuardElementNotHole ← Elements#113, SpectreMaskIndex#116 383 Goto → block 11 Block 11 132 GuardElementsArePacked ← Elements#113 133 LoadElement ← Elements#113, SpectreMaskIndex#116 Value 384 AssertClass ← Lambda#12 139 Goto → block 12 Block 12 142 Unbox LoadElement#133 to Double (fallible) Double 144 Mul ← Unbox#142, Constant#385 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 145 Goto → block 13 Block 13 152 Elements ← GuardShape#151 Elements 153 StoreElementHole ← GuardShape#151, Elements#152, Phi#98, Mul#144 154 Goto → block 14 Block 14 (backedge) 158 Constant 0x1 I[1, 1]: Int32 159 Add ← Phi#98, Constant#158 [int32] I[1, 2147483647]: Int32 160 Goto → block 9 Block 15 163 GuardShape ← NewArrayDynamicLength#89 Object 165 Constant function filter (self-hosted:183) at 104289c47970 Object 166 Constant function complex4/< (-e:18) at 104289c63d60 Object 167 Lambda ← FunctionEnvironment#6, Constant#166 Object 171 Goto → block 16 Block 16 175 DebugCheckSelfHosted ← Box#19 Value 182 DebugCheckSelfHosted ← Box#25 Value 184 GuardShape ← NewArrayDynamicLength#89 Object 185 Elements ← GuardShape#184 Elements 186 ArrayLength ← Elements#185 I[0, 2147483647]: Int32 387 Goto → block 17 Block 17 204 DebugCheckSelfHosted ← Box#47 Value 388 AssertClass ← Lambda#167 390 Goto → block 18 Block 18 392 Goto → block 19 Block 19 228 Goto → block 20 Block 20 232 DebugCheckSelfHosted ← Box#75 Value 235 HasShape ← NewArrayDynamicLength#89 Bool 236 Test ← HasShape#235 → block 21, block 22 1 0 Block 21 237 Constant shape at 104289c64f00 Shape 238 NewArrayObject ← Constant#237 Object 239 Goto → block 23 Block 22 240 CallGetIntrinsicValue Value 241 DebugCheckSelfHosted ← CallGetIntrinsicValue#240 Value 244 Bail 245 Unreachable Block 23 264 GuardShape ← NewArrayDynamicLength#89 Object 395 Constant 50 I[50, 50]: Double 306 GuardShape ← NewArrayObject#238 Object 248 Goto → block 24 Block 24 (loop header) 249 Phi ← Constant#96, Add#315 I[0 {}, 2147483647 {[loop] #186-1}]: Int32 250 Phi ← Constant#96, Phi#310 Int32 252 InterruptCheck 257 Compare ← Phi#249, ArrayLength#186 Lt Bool 258 Test ← Compare#257 → block 25, block 32 1 0 Block 25 265 Elements ← GuardShape#264 Elements 266 InitializedLength ← Elements#265 I[0, 268435453]: Int32 267 BoundsCheck ← Phi#249, InitializedLength#266 I[0, 2147483646]: Int32 268 SpectreMaskIndex ← BoundsCheck#267, InitializedLength#266 I[0, 2147483646]: Int32 269 GuardElementNotHole ← Elements#265, SpectreMaskIndex#268 393 Goto → block 26 Block 26 284 GuardElementsArePacked ← Elements#265 285 LoadElement ← Elements#265, SpectreMaskIndex#268 Value 394 AssertClass ← Lambda#167 291 Goto → block 27 Block 27 294 Unbox LoadElement#285 to Double (fallible) Double 296 Compare ← Unbox#294, Constant#395 Gt Bool 297 Goto → block 28 Block 28 298 Test ← Compare#296 → block 30, block 29 1 0 Block 29 (split edge) 299 Goto → block 31 Block 30 302 Constant 0x1 I[1, 1]: Int32 303 Add ← Phi#250, Constant#302 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 307 Elements ← GuardShape#306 Elements 308 StoreElementHole ← GuardShape#306, Elements#307, Phi#250, LoadElement#285 309 Goto → block 31 Block 31 (backedge) 310 Phi ← Add#303, Phi#250 Int32 314 Constant 0x1 I[1, 1]: Int32 315 Add ← Phi#249, Constant#314 [int32] I[1, 2147483647]: Int32 316 Goto → block 24 Block 32 319 GuardShape ← NewArrayObject#238 Object 321 Constant function reduce (self-hosted:205) at 104289c479c0 Object 322 Constant function complex4/< (-e:18) at 104289c63d98 Object 323 Lambda ← FunctionEnvironment#6, Constant#322 Object 328 Call ← Constant#321, NewArrayObject#238, Lambda#323, Constant#96 Value 329 Return ← Call#328
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 10 Constant function map (self-hosted:163) at 104289c47920 Object 11 Constant function complex4/< (-e:18) at 104289c63d28 Object 12 Lambda ← FunctionEnvironment#6, Constant#11 Object 16 Goto → block 1 Block 1 18 Constant function ToObject at 104289c6c740 Object 19 Box ← Constant#18 Value 20 DebugCheckSelfHosted ← Box#19 Value 24 Constant function ToLength at 104289c6c778 Object 25 Box ← Constant#24 Value 26 DebugCheckSelfHosted ← Box#25 Value 28 GuardShape ← Unbox#7 Object 29 Elements ← GuardShape#28 Elements 30 ArrayLength ← Elements#29 I[0, 2147483647]: Int32 377 Goto → block 2 Block 2 46 Constant function IsCallable at 104289c6c7b0 Object 47 Box ← Constant#46 Value 48 DebugCheckSelfHosted ← Box#47 Value 378 AssertClass ← Lambda#12 380 Goto → block 3 Block 3 382 Goto → block 4 Block 4 71 Box ← Constant#2 Value 72 Goto → block 5 Block 5 74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 75 Box ← Constant#74 Value 76 DebugCheckSelfHosted ← Box#75 Value 79 HasShape ← Unbox#7 Bool 80 Test ← HasShape#79 → block 6, block 7 1 0 Block 6 81 Constant function std_Array at 104289c6c820 Object 82 Box ← Constant#81 Value 83 DebugCheckSelfHosted ← Box#82 Value 86 Unbox DebugCheckSelfHosted#83 to Object (fallible) Object 88 GuardSpecificFunction ← Unbox#86, Constant#81 Object 89 NewArrayDynamicLength ← ArrayLength#30 Object 90 Goto → block 8 Block 7 91 CallGetIntrinsicValue Value 92 DebugCheckSelfHosted ← CallGetIntrinsicValue#91 Value 94 Bail 95 Unreachable Block 8 96 Constant 0x0 I[0, 0]: Int32 112 GuardShape ← Unbox#7 Object 385 Constant 2 I[2, 2]: Double 151 GuardShape ← NewArrayDynamicLength#89 Object 97 Goto → block 9 Block 9 (loop header) 98 Phi ← Constant#96, Add#159 I[0 {}, 2147483647 {[loop] #30-1}]: Int32 99 Constant magic optimized-out MagicOptimizedOut 100 InterruptCheck 105 Compare ← Phi#98, ArrayLength#30 Lt Bool 106 Test ← Compare#105 → block 10, block 15 1 0 Block 10 113 Elements ← GuardShape#112 Elements 114 InitializedLength ← Elements#113 I[0, 268435453]: Int32 115 BoundsCheck ← Phi#98, InitializedLength#114 I[0, 2147483646]: Int32 116 SpectreMaskIndex ← BoundsCheck#115, InitializedLength#114 I[0, 2147483646]: Int32 117 GuardElementNotHole ← Elements#113, SpectreMaskIndex#116 383 Goto → block 11 Block 11 132 GuardElementsArePacked ← Elements#113 133 LoadElement ← Elements#113, SpectreMaskIndex#116 Value 384 AssertClass ← Lambda#12 139 Goto → block 12 Block 12 142 Unbox LoadElement#133 to Double (fallible) Double 144 Mul ← Unbox#142, Constant#385 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 145 Goto → block 13 Block 13 152 Elements ← GuardShape#151 Elements 153 StoreElementHole ← GuardShape#151, Elements#152, Phi#98, Mul#144 154 Goto → block 14 Block 14 (backedge) 158 Constant 0x1 I[1, 1]: Int32 159 Add ← Phi#98, Constant#158 [int32] I[1, 2147483647]: Int32 160 Goto → block 9 Block 15 163 GuardShape ← NewArrayDynamicLength#89 Object 165 Constant function filter (self-hosted:183) at 104289c47970 Object 166 Constant function complex4/< (-e:18) at 104289c63d60 Object 167 Lambda ← FunctionEnvironment#6, Constant#166 Object 171 Goto → block 16 Block 16 175 DebugCheckSelfHosted ← Box#19 Value 182 DebugCheckSelfHosted ← Box#25 Value 184 GuardShape ← NewArrayDynamicLength#89 Object 185 Elements ← GuardShape#184 Elements 186 ArrayLength ← Elements#185 I[0, 2147483647]: Int32 387 Goto → block 17 Block 17 204 DebugCheckSelfHosted ← Box#47 Value 388 AssertClass ← Lambda#167 390 Goto → block 18 Block 18 392 Goto → block 19 Block 19 228 Goto → block 20 Block 20 232 DebugCheckSelfHosted ← Box#75 Value 235 HasShape ← NewArrayDynamicLength#89 Bool 236 Test ← HasShape#235 → block 21, block 22 1 0 Block 21 237 Constant shape at 104289c64f00 Shape 238 NewArrayObject ← Constant#237 Object 239 Goto → block 23 Block 22 240 CallGetIntrinsicValue Value 241 DebugCheckSelfHosted ← CallGetIntrinsicValue#240 Value 244 Bail 245 Unreachable Block 23 264 GuardShape ← NewArrayDynamicLength#89 Object 395 Constant 50 I[50, 50]: Double 306 GuardShape ← NewArrayObject#238 Object 248 Goto → block 24 Block 24 (loop header) 249 Phi ← Constant#96, Add#315 I[0 {}, 2147483647 {[loop] #186-1}]: Int32 250 Phi ← Constant#96, Phi#310 Int32 252 InterruptCheck 257 Compare ← Phi#249, ArrayLength#186 Lt Bool 258 Test ← Compare#257 → block 25, block 32 1 0 Block 25 265 Elements ← GuardShape#264 Elements 266 InitializedLength ← Elements#265 I[0, 268435453]: Int32 267 BoundsCheck ← Phi#249, InitializedLength#266 I[0, 2147483646]: Int32 268 SpectreMaskIndex ← BoundsCheck#267, InitializedLength#266 I[0, 2147483646]: Int32 269 GuardElementNotHole ← Elements#265, SpectreMaskIndex#268 393 Goto → block 26 Block 26 284 GuardElementsArePacked ← Elements#265 285 LoadElement ← Elements#265, SpectreMaskIndex#268 Value 394 AssertClass ← Lambda#167 291 Goto → block 27 Block 27 294 Unbox LoadElement#285 to Double (fallible) Double 296 Compare ← Unbox#294, Constant#395 Gt Bool 297 Goto → block 28 Block 28 298 Test ← Compare#296 → block 30, block 29 1 0 Block 29 (split edge) 299 Goto → block 31 Block 30 302 Constant 0x1 I[1, 1]: Int32 303 Add ← Phi#250, Constant#302 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 307 Elements ← GuardShape#306 Elements 308 StoreElementHole ← GuardShape#306, Elements#307, Phi#250, LoadElement#285 309 Goto → block 31 Block 31 (backedge) 310 Phi ← Add#303, Phi#250 Int32 314 Constant 0x1 I[1, 1]: Int32 315 Add ← Phi#249, Constant#314 [int32] I[1, 2147483647]: Int32 316 Goto → block 24 Block 32 319 GuardShape ← NewArrayObject#238 Object 321 Constant function reduce (self-hosted:205) at 104289c479c0 Object 322 Constant function complex4/< (-e:18) at 104289c63d98 Object 323 Lambda ← FunctionEnvironment#6, Constant#322 Object 328 Call ← Constant#321, NewArrayObject#238, Lambda#323, Constant#96 Value 329 Return ← Call#328
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 10 Constant function map (self-hosted:163) at 104289c47920 Object 11 Constant function complex4/< (-e:18) at 104289c63d28 Object 12 Lambda ← FunctionEnvironment#6, Constant#11 Object 16 Goto → block 1 Block 1 18 Constant function ToObject at 104289c6c740 Object 19 Box ← Constant#18 Value 20 DebugCheckSelfHosted ← Box#19 Value 24 Constant function ToLength at 104289c6c778 Object 25 Box ← Constant#24 Value 26 DebugCheckSelfHosted ← Box#25 Value 28 GuardShape ← Unbox#7 Object 29 Elements ← GuardShape#28 Elements 30 ArrayLength ← Elements#29 I[0, 2147483647]: Int32 377 Goto → block 2 Block 2 46 Constant function IsCallable at 104289c6c7b0 Object 47 Box ← Constant#46 Value 48 DebugCheckSelfHosted ← Box#47 Value 378 AssertClass ← Lambda#12 380 Goto → block 3 Block 3 382 Goto → block 4 Block 4 71 Box ← Constant#2 Value 72 Goto → block 5 Block 5 74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 75 Box ← Constant#74 Value 76 DebugCheckSelfHosted ← Box#75 Value 79 HasShape ← Unbox#7 Bool 80 Test ← HasShape#79 → block 6, block 7 1 0 Block 6 81 Constant function std_Array at 104289c6c820 Object 82 Box ← Constant#81 Value 83 DebugCheckSelfHosted ← Box#82 Value 86 Unbox DebugCheckSelfHosted#83 to Object (fallible) Object 88 GuardSpecificFunction ← Unbox#86, Constant#81 Object 89 NewArrayDynamicLength ← ArrayLength#30 Object 90 Goto → block 8 Block 7 91 CallGetIntrinsicValue Value 92 DebugCheckSelfHosted ← CallGetIntrinsicValue#91 Value 94 Bail 95 Unreachable Block 8 96 Constant 0x0 I[0, 0]: Int32 112 GuardShape ← Unbox#7 Object 385 Constant 2 I[2, 2]: Double 151 GuardShape ← NewArrayDynamicLength#89 Object 97 Goto → block 9 Block 9 (loop header) 98 Phi ← Constant#96, Add#159 I[0 {}, 2147483647 {[loop] #30-1}]: Int32 99 Constant magic optimized-out MagicOptimizedOut 100 InterruptCheck 105 Compare ← Phi#98, ArrayLength#30 Lt Bool 106 Test ← Compare#105 → block 10, block 15 1 0 Block 10 113 Elements ← GuardShape#112 Elements 114 InitializedLength ← Elements#113 I[0, 268435453]: Int32 115 BoundsCheck ← Phi#98, InitializedLength#114 I[0, 2147483646]: Int32 116 SpectreMaskIndex ← BoundsCheck#115, InitializedLength#114 I[0, 2147483646]: Int32 117 GuardElementNotHole ← Elements#113, SpectreMaskIndex#116 383 Goto → block 11 Block 11 132 GuardElementsArePacked ← Elements#113 133 LoadElement ← Elements#113, SpectreMaskIndex#116 Value 384 AssertClass ← Lambda#12 139 Goto → block 12 Block 12 142 Unbox LoadElement#133 to Double (fallible) Double 144 Mul ← Unbox#142, Constant#385 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 145 Goto → block 13 Block 13 152 Elements ← GuardShape#151 Elements 153 StoreElementHole ← GuardShape#151, Elements#152, Phi#98, Mul#144 154 Goto → block 14 Block 14 (backedge) 158 Constant 0x1 I[1, 1]: Int32 159 Add ← Phi#98, Constant#158 [int32] I[1, 2147483647]: Int32 160 Goto → block 9 Block 15 163 GuardShape ← NewArrayDynamicLength#89 Object 165 Constant function filter (self-hosted:183) at 104289c47970 Object 166 Constant function complex4/< (-e:18) at 104289c63d60 Object 167 Lambda ← FunctionEnvironment#6, Constant#166 Object 171 Goto → block 16 Block 16 175 DebugCheckSelfHosted ← Box#19 Value 182 DebugCheckSelfHosted ← Box#25 Value 184 GuardShape ← NewArrayDynamicLength#89 Object 185 Elements ← GuardShape#184 Elements 186 ArrayLength ← Elements#185 I[0, 2147483647]: Int32 387 Goto → block 17 Block 17 204 DebugCheckSelfHosted ← Box#47 Value 388 AssertClass ← Lambda#167 390 Goto → block 18 Block 18 392 Goto → block 19 Block 19 228 Goto → block 20 Block 20 232 DebugCheckSelfHosted ← Box#75 Value 235 HasShape ← NewArrayDynamicLength#89 Bool 236 Test ← HasShape#235 → block 21, block 22 1 0 Block 21 237 Constant shape at 104289c64f00 Shape 238 NewArrayObject ← Constant#237 Object 239 Goto → block 23 Block 22 240 CallGetIntrinsicValue Value 241 DebugCheckSelfHosted ← CallGetIntrinsicValue#240 Value 244 Bail 245 Unreachable Block 23 264 GuardShape ← NewArrayDynamicLength#89 Object 395 Constant 50 I[50, 50]: Double 306 GuardShape ← NewArrayObject#238 Object 248 Goto → block 24 Block 24 (loop header) 249 Phi ← Constant#96, Add#315 I[0 {}, 2147483647 {[loop] #186-1}]: Int32 250 Phi ← Constant#96, Phi#310 Int32 252 InterruptCheck 257 Compare ← Phi#249, ArrayLength#186 Lt Bool 258 Test ← Compare#257 → block 25, block 32 1 0 Block 25 265 Elements ← GuardShape#264 Elements 266 InitializedLength ← Elements#265 I[0, 268435453]: Int32 267 BoundsCheck ← Phi#249, InitializedLength#266 I[0, 2147483646]: Int32 268 SpectreMaskIndex ← BoundsCheck#267, InitializedLength#266 I[0, 2147483646]: Int32 269 GuardElementNotHole ← Elements#265, SpectreMaskIndex#268 393 Goto → block 26 Block 26 284 GuardElementsArePacked ← Elements#265 285 LoadElement ← Elements#265, SpectreMaskIndex#268 Value 394 AssertClass ← Lambda#167 291 Goto → block 27 Block 27 294 Unbox LoadElement#285 to Double (fallible) Double 296 Compare ← Unbox#294, Constant#395 Gt Bool 297 Goto → block 28 Block 28 298 Test ← Compare#296 → block 30, block 29 1 0 Block 29 (split edge) 299 Goto → block 31 Block 30 302 Constant 0x1 I[1, 1]: Int32 303 Add ← Phi#250, Constant#302 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 307 Elements ← GuardShape#306 Elements 308 StoreElementHole ← GuardShape#306, Elements#307, Phi#250, LoadElement#285 309 Goto → block 31 Block 31 (backedge) 310 Phi ← Add#303, Phi#250 Int32 314 Constant 0x1 I[1, 1]: Int32 315 Add ← Phi#249, Constant#314 [int32] I[1, 2147483647]: Int32 316 Goto → block 24 Block 32 319 GuardShape ← NewArrayObject#238 Object 321 Constant function reduce (self-hosted:205) at 104289c479c0 Object 322 Constant function complex4/< (-e:18) at 104289c63d98 Object 323 Lambda ← FunctionEnvironment#6, Constant#322 Object 328 Call ← Constant#321, NewArrayObject#238, Lambda#323, Constant#96 Value 329 Return ← Call#328
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 10 Constant function map (self-hosted:163) at 104289c47920 Object 11 Constant function complex4/< (-e:18) at 104289c63d28 Object 12 Lambda ← FunctionEnvironment#6, Constant#11 Object 16 Goto → block 1 Block 1 18 Constant function ToObject at 104289c6c740 Object 19 Box ← Constant#18 Value 20 DebugCheckSelfHosted ← Box#19 Value 24 Constant function ToLength at 104289c6c778 Object 25 Box ← Constant#24 Value 26 DebugCheckSelfHosted ← Box#25 Value 28 GuardShape ← Unbox#7 Object 29 Elements ← GuardShape#28 Elements 30 ArrayLength ← Elements#29 I[0, 2147483647]: Int32 377 Goto → block 2 Block 2 46 Constant function IsCallable at 104289c6c7b0 Object 47 Box ← Constant#46 Value 48 DebugCheckSelfHosted ← Box#47 Value 378 AssertClass ← Lambda#12 380 Goto → block 3 Block 3 382 Goto → block 4 Block 4 71 Box ← Constant#2 Value 72 Goto → block 5 Block 5 74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 75 Box ← Constant#74 Value 76 DebugCheckSelfHosted ← Box#75 Value 79 HasShape ← Unbox#7 Bool 80 Test ← HasShape#79 → block 6, block 7 1 0 Block 6 81 Constant function std_Array at 104289c6c820 Object 82 Box ← Constant#81 Value 83 DebugCheckSelfHosted ← Box#82 Value 86 Unbox DebugCheckSelfHosted#83 to Object (fallible) Object 88 GuardSpecificFunction ← Unbox#86, Constant#81 Object 89 NewArrayDynamicLength ← ArrayLength#30 Object 90 Goto → block 8 Block 7 91 CallGetIntrinsicValue Value 92 DebugCheckSelfHosted ← CallGetIntrinsicValue#91 Value 94 Bail 95 Unreachable Block 8 96 Constant 0x0 I[0, 0]: Int32 112 GuardShape ← Unbox#7 Object 385 Constant 2 I[2, 2]: Double 151 GuardShape ← NewArrayDynamicLength#89 Object 97 Goto → block 9 Block 9 (loop header) 98 Phi ← Constant#96, Add#159 I[0 {}, 2147483647 {[loop] #30-1}]: Int32 99 Constant magic optimized-out MagicOptimizedOut 100 InterruptCheck 105 Compare ← Phi#98, ArrayLength#30 Lt Bool 106 Test ← Compare#105 → block 10, block 15 1 0 Block 10 113 Elements ← GuardShape#112 Elements 114 InitializedLength ← Elements#113 I[0, 268435453]: Int32 115 BoundsCheck ← Phi#98, InitializedLength#114 I[0, 2147483646]: Int32 116 SpectreMaskIndex ← BoundsCheck#115, InitializedLength#114 I[0, 2147483646]: Int32 117 GuardElementNotHole ← Elements#113, SpectreMaskIndex#116 383 Goto → block 11 Block 11 132 GuardElementsArePacked ← Elements#113 133 LoadElement ← Elements#113, SpectreMaskIndex#116 Value 384 AssertClass ← Lambda#12 139 Goto → block 12 Block 12 142 Unbox LoadElement#133 to Double (fallible) Double 144 Mul ← Unbox#142, Constant#385 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 145 Goto → block 13 Block 13 152 Elements ← GuardShape#151 Elements 153 StoreElementHole ← GuardShape#151, Elements#152, Phi#98, Mul#144 154 Goto → block 14 Block 14 (backedge) 158 Constant 0x1 I[1, 1]: Int32 159 Add ← Phi#98, Constant#158 [int32] I[1, 2147483647]: Int32 160 Goto → block 9 Block 15 163 GuardShape ← NewArrayDynamicLength#89 Object 165 Constant function filter (self-hosted:183) at 104289c47970 Object 166 Constant function complex4/< (-e:18) at 104289c63d60 Object 167 Lambda ← FunctionEnvironment#6, Constant#166 Object 171 Goto → block 16 Block 16 175 DebugCheckSelfHosted ← Box#19 Value 182 DebugCheckSelfHosted ← Box#25 Value 184 GuardShape ← NewArrayDynamicLength#89 Object 185 Elements ← GuardShape#184 Elements 186 ArrayLength ← Elements#185 I[0, 2147483647]: Int32 387 Goto → block 17 Block 17 204 DebugCheckSelfHosted ← Box#47 Value 388 AssertClass ← Lambda#167 390 Goto → block 18 Block 18 392 Goto → block 19 Block 19 228 Goto → block 20 Block 20 232 DebugCheckSelfHosted ← Box#75 Value 235 HasShape ← NewArrayDynamicLength#89 Bool 236 Test ← HasShape#235 → block 21, block 22 1 0 Block 21 237 Constant shape at 104289c64f00 Shape 238 NewArrayObject ← Constant#237 Object 239 Goto → block 23 Block 22 240 CallGetIntrinsicValue Value 241 DebugCheckSelfHosted ← CallGetIntrinsicValue#240 Value 244 Bail 245 Unreachable Block 23 264 GuardShape ← NewArrayDynamicLength#89 Object 395 Constant 50 I[50, 50]: Double 306 GuardShape ← NewArrayObject#238 Object 248 Goto → block 24 Block 24 (loop header) 249 Phi ← Constant#96, Add#315 I[0 {}, 2147483647 {[loop] #186-1}]: Int32 250 Phi ← Constant#96, Phi#310 Int32 252 InterruptCheck 257 Compare ← Phi#249, ArrayLength#186 Lt Bool 258 Test ← Compare#257 → block 25, block 32 1 0 Block 25 265 Elements ← GuardShape#264 Elements 266 InitializedLength ← Elements#265 I[0, 268435453]: Int32 267 BoundsCheck ← Phi#249, InitializedLength#266 I[0, 2147483646]: Int32 268 SpectreMaskIndex ← BoundsCheck#267, InitializedLength#266 I[0, 2147483646]: Int32 269 GuardElementNotHole ← Elements#265, SpectreMaskIndex#268 393 Goto → block 26 Block 26 284 GuardElementsArePacked ← Elements#265 285 LoadElement ← Elements#265, SpectreMaskIndex#268 Value 394 AssertClass ← Lambda#167 291 Goto → block 27 Block 27 294 Unbox LoadElement#285 to Double (fallible) Double 296 Compare ← Unbox#294, Constant#395 Gt Bool 297 Goto → block 28 Block 28 298 Test ← Compare#296 → block 30, block 29 1 0 Block 29 (split edge) 299 Goto → block 31 Block 30 302 Constant 0x1 I[1, 1]: Int32 303 Add ← Phi#250, Constant#302 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 307 Elements ← GuardShape#306 Elements 308 StoreElementHole ← GuardShape#306, Elements#307, Phi#250, LoadElement#285 309 Goto → block 31 Block 31 (backedge) 310 Phi ← Add#303, Phi#250 Int32 314 Constant 0x1 I[1, 1]: Int32 315 Add ← Phi#249, Constant#314 [int32] I[1, 2147483647]: Int32 316 Goto → block 24 Block 32 319 GuardShape ← NewArrayObject#238 Object 321 Constant function reduce (self-hosted:205) at 104289c479c0 Object 322 Constant function complex4/< (-e:18) at 104289c63d98 Object 323 Lambda ← FunctionEnvironment#6, Constant#322 Object 328 Call ← Constant#321, NewArrayObject#238, Lambda#323, Constant#96 Value 329 Return ← Call#328
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 10 Constant function map (self-hosted:163) at 104289c47920 Object 11 Constant function complex4/< (-e:18) at 104289c63d28 Object 12 Lambda ← FunctionEnvironment#6, Constant#11 Object 16 Goto → block 1 Block 1 18 Constant function ToObject at 104289c6c740 Object 19 Box ← Constant#18 Value 20 DebugCheckSelfHosted ← Box#19 Value 24 Constant function ToLength at 104289c6c778 Object 25 Box ← Constant#24 Value 26 DebugCheckSelfHosted ← Box#25 Value 28 GuardShape ← Unbox#7 Object 29 Elements ← GuardShape#28 Elements 30 ArrayLength ← Elements#29 I[0, 2147483647]: Int32 377 Goto → block 2 Block 2 46 Constant function IsCallable at 104289c6c7b0 Object 47 Box ← Constant#46 Value 48 DebugCheckSelfHosted ← Box#47 Value 378 AssertClass ← Lambda#12 380 Goto → block 3 Block 3 382 Goto → block 4 Block 4 71 Box ← Constant#2 Value 72 Goto → block 5 Block 5 74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 75 Box ← Constant#74 Value 76 DebugCheckSelfHosted ← Box#75 Value 79 HasShape ← Unbox#7 Bool 80 Test ← HasShape#79 → block 6, block 7 1 0 Block 6 81 Constant function std_Array at 104289c6c820 Object 82 Box ← Constant#81 Value 83 DebugCheckSelfHosted ← Box#82 Value 86 Unbox DebugCheckSelfHosted#83 to Object (fallible) Object 88 GuardSpecificFunction ← Unbox#86, Constant#81 Object 89 NewArrayDynamicLength ← ArrayLength#30 Object 90 Goto → block 8 Block 7 91 CallGetIntrinsicValue Value 92 DebugCheckSelfHosted ← CallGetIntrinsicValue#91 Value 94 Bail 95 Unreachable Block 8 96 Constant 0x0 I[0, 0]: Int32 112 GuardShape ← Unbox#7 Object 385 Constant 2 I[2, 2]: Double 151 GuardShape ← NewArrayDynamicLength#89 Object 97 Goto → block 9 Block 9 (loop header) 98 Phi ← Constant#96, Add#159 I[0 {}, 2147483647 {[loop] #30-1}]: Int32 99 Constant magic optimized-out MagicOptimizedOut 100 InterruptCheck 105 Compare ← Phi#98, ArrayLength#30 Lt Bool 106 Test ← Compare#105 → block 10, block 15 1 0 Block 10 113 Elements ← GuardShape#112 Elements 114 InitializedLength ← Elements#113 I[0, 268435453]: Int32 115 BoundsCheck ← Phi#98, InitializedLength#114 I[0, 2147483646]: Int32 116 SpectreMaskIndex ← BoundsCheck#115, InitializedLength#114 I[0, 2147483646]: Int32 117 GuardElementNotHole ← Elements#113, SpectreMaskIndex#116 383 Goto → block 11 Block 11 132 GuardElementsArePacked ← Elements#113 133 LoadElement ← Elements#113, SpectreMaskIndex#116 Value 384 AssertClass ← Lambda#12 139 Goto → block 12 Block 12 142 Unbox LoadElement#133 to Double (fallible) Double 144 Mul ← Unbox#142, Constant#385 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 145 Goto → block 13 Block 13 152 Elements ← GuardShape#151 Elements 153 StoreElementHole ← GuardShape#151, Elements#152, Phi#98, Mul#144 154 Goto → block 14 Block 14 (backedge) 158 Constant 0x1 I[1, 1]: Int32 159 Add ← Phi#98, Constant#158 [int32] I[1, 2147483647]: Int32 160 Goto → block 9 Block 15 163 GuardShape ← NewArrayDynamicLength#89 Object 165 Constant function filter (self-hosted:183) at 104289c47970 Object 166 Constant function complex4/< (-e:18) at 104289c63d60 Object 167 Lambda ← FunctionEnvironment#6, Constant#166 Object 171 Goto → block 16 Block 16 175 DebugCheckSelfHosted ← Box#19 Value 182 DebugCheckSelfHosted ← Box#25 Value 184 GuardShape ← NewArrayDynamicLength#89 Object 185 Elements ← GuardShape#184 Elements 186 ArrayLength ← Elements#185 I[0, 2147483647]: Int32 387 Goto → block 17 Block 17 204 DebugCheckSelfHosted ← Box#47 Value 388 AssertClass ← Lambda#167 390 Goto → block 18 Block 18 392 Goto → block 19 Block 19 228 Goto → block 20 Block 20 232 DebugCheckSelfHosted ← Box#75 Value 235 HasShape ← NewArrayDynamicLength#89 Bool 236 Test ← HasShape#235 → block 21, block 22 1 0 Block 21 237 Constant shape at 104289c64f00 Shape 238 NewArrayObject ← Constant#237 Object 239 Goto → block 23 Block 22 240 CallGetIntrinsicValue Value 241 DebugCheckSelfHosted ← CallGetIntrinsicValue#240 Value 244 Bail 245 Unreachable Block 23 264 GuardShape ← NewArrayDynamicLength#89 Object 395 Constant 50 I[50, 50]: Double 306 GuardShape ← NewArrayObject#238 Object 248 Goto → block 24 Block 24 (loop header) 249 Phi ← Constant#96, Add#315 I[0 {}, 2147483647 {[loop] #186-1}]: Int32 250 Phi ← Constant#96, Phi#310 Int32 252 InterruptCheck 257 Compare ← Phi#249, ArrayLength#186 Lt Bool 258 Test ← Compare#257 → block 25, block 32 1 0 Block 25 265 Elements ← GuardShape#264 Elements 266 InitializedLength ← Elements#265 I[0, 268435453]: Int32 267 BoundsCheck ← Phi#249, InitializedLength#266 I[0, 2147483646]: Int32 268 SpectreMaskIndex ← BoundsCheck#267, InitializedLength#266 I[0, 2147483646]: Int32 269 GuardElementNotHole ← Elements#265, SpectreMaskIndex#268 393 Goto → block 26 Block 26 284 GuardElementsArePacked ← Elements#265 285 LoadElement ← Elements#265, SpectreMaskIndex#268 Value 394 AssertClass ← Lambda#167 291 Goto → block 27 Block 27 294 Unbox LoadElement#285 to Double (fallible) Double 296 Compare ← Unbox#294, Constant#395 Gt Bool 297 Goto → block 28 Block 28 298 Test ← Compare#296 → block 30, block 29 1 0 Block 29 (split edge) 299 Goto → block 31 Block 30 302 Constant 0x1 I[1, 1]: Int32 303 Add ← Phi#250, Constant#302 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 307 Elements ← GuardShape#306 Elements 308 StoreElementHole ← GuardShape#306, Elements#307, Phi#250, LoadElement#285 309 Goto → block 31 Block 31 (backedge) 310 Phi ← Add#303, Phi#250 Int32 314 Constant 0x1 I[1, 1]: Int32 315 Add ← Phi#249, Constant#314 [int32] I[1, 2147483647]: Int32 316 Goto → block 24 Block 32 319 GuardShape ← NewArrayObject#238 Object 321 Constant function reduce (self-hosted:205) at 104289c479c0 Object 322 Constant function complex4/< (-e:18) at 104289c63d98 Object 323 Lambda ← FunctionEnvironment#6, Constant#322 Object 328 Call ← Constant#321, NewArrayObject#238, Lambda#323, Constant#96 Value 329 Return ← Call#328
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 10 Constant function map (self-hosted:163) at 104289c47920 Object 11 Constant function complex4/< (-e:18) at 104289c63d28 Object 12 Lambda ← FunctionEnvironment#6, Constant#11 Object 16 Goto → block 1 Block 1 18 Constant function ToObject at 104289c6c740 Object 19 Box ← Constant#18 Value 20 DebugCheckSelfHosted ← Box#19 Value 24 Constant function ToLength at 104289c6c778 Object 25 Box ← Constant#24 Value 26 DebugCheckSelfHosted ← Box#25 Value 28 GuardShape ← Unbox#7 Object 29 Elements ← GuardShape#28 Elements 30 ArrayLength ← Elements#29 I[0, 2147483647]: Int32 377 Goto → block 2 Block 2 46 Constant function IsCallable at 104289c6c7b0 Object 47 Box ← Constant#46 Value 48 DebugCheckSelfHosted ← Box#47 Value 378 AssertClass ← Lambda#12 380 Goto → block 3 Block 3 382 Goto → block 4 Block 4 71 Box ← Constant#2 Value 72 Goto → block 5 Block 5 74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 75 Box ← Constant#74 Value 76 DebugCheckSelfHosted ← Box#75 Value 79 HasShape ← Unbox#7 Bool 80 Test ← HasShape#79 → block 6, block 7 1 0 Block 6 81 Constant function std_Array at 104289c6c820 Object 82 Box ← Constant#81 Value 83 DebugCheckSelfHosted ← Box#82 Value 86 Unbox DebugCheckSelfHosted#83 to Object (fallible) Object 88 GuardSpecificFunction ← Unbox#86, Constant#81 Object 89 NewArrayDynamicLength ← ArrayLength#30 Object 90 Goto → block 8 Block 7 91 CallGetIntrinsicValue Value 92 DebugCheckSelfHosted ← CallGetIntrinsicValue#91 Value 94 Bail 95 Unreachable Block 8 96 Constant 0x0 I[0, 0]: Int32 112 GuardShape ← Unbox#7 Object 385 Constant 2 I[2, 2]: Double 151 GuardShape ← NewArrayDynamicLength#89 Object 97 Goto → block 9 Block 9 (loop header) 98 Phi ← Constant#96, Add#159 I[0 {}, 2147483647 {[loop] #30-1}]: Int32 99 Constant magic optimized-out MagicOptimizedOut 100 InterruptCheck 105 Compare ← Phi#98, ArrayLength#30 Lt Bool 106 Test ← Compare#105 → block 10, block 15 1 0 Block 10 113 Elements ← GuardShape#112 Elements 114 InitializedLength ← Elements#113 I[0, 268435453]: Int32 115 BoundsCheck ← Phi#98, InitializedLength#114 I[0, 2147483646]: Int32 116 SpectreMaskIndex ← BoundsCheck#115, InitializedLength#114 I[0, 2147483646]: Int32 117 GuardElementNotHole ← Elements#113, SpectreMaskIndex#116 383 Goto → block 11 Block 11 132 GuardElementsArePacked ← Elements#113 133 LoadElement ← Elements#113, SpectreMaskIndex#116 Value 384 AssertClass ← Lambda#12 139 Goto → block 12 Block 12 142 Unbox LoadElement#133 to Double (fallible) Double 144 Mul ← Unbox#142, Constant#385 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 145 Goto → block 13 Block 13 152 Elements ← GuardShape#151 Elements 153 StoreElementHole ← GuardShape#151, Elements#152, Phi#98, Mul#144 154 Goto → block 14 Block 14 (backedge) 158 Constant 0x1 I[1, 1]: Int32 159 Add ← Phi#98, Constant#158 [int32] I[1, 2147483647]: Int32 160 Goto → block 9 Block 15 163 GuardShape ← NewArrayDynamicLength#89 Object 165 Constant function filter (self-hosted:183) at 104289c47970 Object 166 Constant function complex4/< (-e:18) at 104289c63d60 Object 167 Lambda ← FunctionEnvironment#6, Constant#166 Object 171 Goto → block 16 Block 16 175 DebugCheckSelfHosted ← Box#19 Value 182 DebugCheckSelfHosted ← Box#25 Value 184 GuardShape ← NewArrayDynamicLength#89 Object 185 Elements ← GuardShape#184 Elements 186 ArrayLength ← Elements#185 I[0, 2147483647]: Int32 387 Goto → block 17 Block 17 204 DebugCheckSelfHosted ← Box#47 Value 388 AssertClass ← Lambda#167 390 Goto → block 18 Block 18 392 Goto → block 19 Block 19 228 Goto → block 20 Block 20 232 DebugCheckSelfHosted ← Box#75 Value 235 HasShape ← NewArrayDynamicLength#89 Bool 236 Test ← HasShape#235 → block 21, block 22 1 0 Block 21 237 Constant shape at 104289c64f00 Shape 238 NewArrayObject ← Constant#237 Object 239 Goto → block 23 Block 22 240 CallGetIntrinsicValue Value 241 DebugCheckSelfHosted ← CallGetIntrinsicValue#240 Value 244 Bail 245 Unreachable Block 23 264 GuardShape ← NewArrayDynamicLength#89 Object 395 Constant 50 I[50, 50]: Double 306 GuardShape ← NewArrayObject#238 Object 248 Goto → block 24 Block 24 (loop header) 249 Phi ← Constant#96, Add#315 I[0 {}, 2147483647 {[loop] #186-1}]: Int32 250 Phi ← Constant#96, Phi#310 Int32 252 InterruptCheck 257 Compare ← Phi#249, ArrayLength#186 Lt Bool 258 Test ← Compare#257 → block 25, block 32 1 0 Block 25 265 Elements ← GuardShape#264 Elements 266 InitializedLength ← Elements#265 I[0, 268435453]: Int32 267 BoundsCheck ← Phi#249, InitializedLength#266 I[0, 2147483646]: Int32 268 SpectreMaskIndex ← BoundsCheck#267, InitializedLength#266 I[0, 2147483646]: Int32 269 GuardElementNotHole ← Elements#265, SpectreMaskIndex#268 393 Goto → block 26 Block 26 284 GuardElementsArePacked ← Elements#265 285 LoadElement ← Elements#265, SpectreMaskIndex#268 Value 394 AssertClass ← Lambda#167 291 Goto → block 27 Block 27 294 Unbox LoadElement#285 to Double (fallible) Double 296 Compare ← Unbox#294, Constant#395 Gt Bool 297 Goto → block 28 Block 28 298 Test ← Compare#296 → block 30, block 29 1 0 Block 29 (split edge) 299 Goto → block 31 Block 30 302 Constant 0x1 I[1, 1]: Int32 303 Add ← Phi#250, Constant#302 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 307 Elements ← GuardShape#306 Elements 308 StoreElementHole ← GuardShape#306, Elements#307, Phi#250, LoadElement#285 309 Goto → block 31 Block 31 (backedge) 310 Phi ← Add#303, Phi#250 Int32 314 Constant 0x1 I[1, 1]: Int32 315 Add ← Phi#249, Constant#314 [int32] I[1, 2147483647]: Int32 316 Goto → block 24 Block 32 319 GuardShape ← NewArrayObject#238 Object 321 Constant function reduce (self-hosted:205) at 104289c479c0 Object 322 Constant function complex4/< (-e:18) at 104289c63d98 Object 323 Lambda ← FunctionEnvironment#6, Constant#322 Object 328 Call ← Constant#321, NewArrayObject#238, Lambda#323, Constant#96 Value 329 Return ← Call#328
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 9 Constant function map (self-hosted:163) at 104289c47920 Object 10 Constant function complex4/< (-e:18) at 104289c63d28 Object 11 Lambda ← FunctionEnvironment#6, Constant#10 Object 12 Goto → block 1 Block 1 13 Constant function ToObject at 104289c6c740 Object 14 Constant function ToLength at 104289c6c778 Object 15 Box ← Constant#13 Value 16 DebugCheckSelfHosted ← Box#15 Value 17 Box ← Constant#14 Value 18 DebugCheckSelfHosted ← Box#17 Value 19 GuardShape ← Unbox#7 Object 20 Elements ← GuardShape#19 Elements 21 ArrayLength ← Elements#20 I[0, 2147483647]: Int32 22 Goto → block 2 Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 AssertClass ← Lambda#11 27 Goto → block 3 Block 3 28 Goto → block 4 Block 4 29 Box ← Constant#2 Value 30 Goto → block 5 Block 5 31 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 32 Box ← Constant#31 Value 33 DebugCheckSelfHosted ← Box#32 Value 34 HasShape ← Unbox#7 Bool 35 Test ← HasShape#34 → block 6, block 7 1 0 Block 6 36 Constant function std_Array at 104289c6c820 Object 37 Box ← Constant#36 Value 38 DebugCheckSelfHosted ← Box#37 Value 39 Unbox DebugCheckSelfHosted#38 to Object (fallible) Object 40 GuardSpecificFunction ← Unbox#39, Constant#36 Object 41 NewArrayDynamicLength ← ArrayLength#21 Object 42 Goto → block 8 Block 7 43 CallGetIntrinsicValue Value 44 DebugCheckSelfHosted ← CallGetIntrinsicValue#43 Value 45 Bail 46 Unreachable Block 8 47 Constant 0x0 I[0, 0]: Int32 48 GuardShape ← Unbox#7 Object 49 Constant 2 I[2, 2]: Double 50 GuardShape ← NewArrayDynamicLength#41 Object 51 Goto → block 9 Block 9 (loop header) 52 Phi ← Constant#47, Add#74 I[0 {}, 2147483647 {[loop] #21-1}]: Int32 53 Constant magic optimized-out MagicOptimizedOut 54 InterruptCheck 55 Compare ← Phi#52, ArrayLength#21 Lt Bool 56 Test ← Compare#55 → block 10, block 15 1 0 Block 10 57 Elements ← GuardShape#48 Elements 58 InitializedLength ← Elements#57 I[0, 268435453]: Int32 59 BoundsCheck ← Phi#52, InitializedLength#58 I[0, 2147483646]: Int32 60 SpectreMaskIndex ← BoundsCheck#59, InitializedLength#58 I[0, 2147483646]: Int32 61 GuardElementNotHole ← Elements#57, SpectreMaskIndex#60 62 Goto → block 11 Block 11 63 GuardElementsArePacked ← Elements#57 64 LoadElement ← Elements#57, SpectreMaskIndex#60 Value 65 AssertClass ← Lambda#11 66 Goto → block 12 Block 12 67 Unbox LoadElement#64 to Double (fallible) Double 68 Mul ← Unbox#67, Constant#49 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 69 Goto → block 13 Block 13 70 Elements ← GuardShape#50 Elements 71 StoreElementHole ← GuardShape#50, Elements#70, Phi#52, Mul#68 72 Goto → block 14 Block 14 (backedge) 73 Constant 0x1 I[1, 1]: Int32 74 Add ← Phi#52, Constant#73 [int32] I[1, 2147483647]: Int32 75 Goto → block 9 Block 15 76 Constant function complex4/< (-e:18) at 104289c63d60 Object 77 GuardShape ← NewArrayDynamicLength#41 Object 78 Constant function filter (self-hosted:183) at 104289c47970 Object 79 Lambda ← FunctionEnvironment#6, Constant#76 Object 80 Goto → block 16 Block 16 81 DebugCheckSelfHosted ← Box#15 Value 82 DebugCheckSelfHosted ← Box#17 Value 83 GuardShape ← NewArrayDynamicLength#41 Object 84 Elements ← GuardShape#83 Elements 85 ArrayLength ← Elements#84 I[0, 2147483647]: Int32 86 Goto → block 17 Block 17 87 DebugCheckSelfHosted ← Box#24 Value 88 AssertClass ← Lambda#79 89 Goto → block 18 Block 18 90 Goto → block 19 Block 19 91 Goto → block 20 Block 20 92 DebugCheckSelfHosted ← Box#32 Value 93 HasShape ← NewArrayDynamicLength#41 Bool 94 Test ← HasShape#93 → block 21, block 22 1 0 Block 21 95 Constant shape at 104289c64f00 Shape 96 NewArrayObject ← Constant#95 Object 97 Goto → block 23 Block 22 98 CallGetIntrinsicValue Value 99 DebugCheckSelfHosted ← CallGetIntrinsicValue#98 Value 100 Bail 101 Unreachable Block 23 102 GuardShape ← NewArrayDynamicLength#41 Object 103 Constant 50 I[50, 50]: Double 104 GuardShape ← NewArrayObject#96 Object 105 Goto → block 24 Block 24 (loop header) 106 Phi ← Constant#47, Add#133 I[0 {}, 2147483647 {[loop] #85-1}]: Int32 107 Phi ← Constant#47, Phi#131 Int32 108 InterruptCheck 109 Compare ← Phi#106, ArrayLength#85 Lt Bool 110 Test ← Compare#109 → block 25, block 32 1 0 Block 25 111 Elements ← GuardShape#102 Elements 112 InitializedLength ← Elements#111 I[0, 268435453]: Int32 113 BoundsCheck ← Phi#106, InitializedLength#112 I[0, 2147483646]: Int32 114 SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112 I[0, 2147483646]: Int32 115 GuardElementNotHole ← Elements#111, SpectreMaskIndex#114 116 Goto → block 26 Block 26 117 GuardElementsArePacked ← Elements#111 118 LoadElement ← Elements#111, SpectreMaskIndex#114 Value 119 AssertClass ← Lambda#79 120 Goto → block 27 Block 27 121 Unbox LoadElement#118 to Double (fallible) Double 122 Compare ← Unbox#121, Constant#103 Gt Bool 123 Goto → block 28 Block 28 124 Test ← Compare#122 → block 30, block 29 1 0 Block 29 (split edge) 125 Goto → block 31 Block 30 126 Constant 0x1 I[1, 1]: Int32 127 Add ← Phi#107, Constant#126 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 128 Elements ← GuardShape#104 Elements 129 StoreElementHole ← GuardShape#104, Elements#128, Phi#107, LoadElement#118 130 Goto → block 31 Block 31 (backedge) 131 Phi ← Add#127, Phi#107 Int32 132 Constant 0x1 I[1, 1]: Int32 133 Add ← Phi#106, Constant#132 [int32] I[1, 2147483647]: Int32 134 Goto → block 24 Block 32 135 Constant function complex4/< (-e:18) at 104289c63d98 Object 136 GuardShape ← NewArrayObject#96 Object 137 Constant function reduce (self-hosted:205) at 104289c479c0 Object 138 Lambda ← FunctionEnvironment#6, Constant#135 Object 139 Call ← Constant#137, NewArrayObject#96, Lambda#138, Constant#47 Value 140 Return ← Call#139
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 9 Constant function map (self-hosted:163) at 104289c47920 Object 10 Constant function complex4/< (-e:18) at 104289c63d28 Object 11 Lambda ← FunctionEnvironment#6, Constant#10 Object 12 Goto → block 1 Block 1 13 Constant function ToObject at 104289c6c740 Object 14 Constant function ToLength at 104289c6c778 Object 15 Box ← Constant#13 Value 16 DebugCheckSelfHosted ← Box#15 Value 17 Box ← Constant#14 Value 18 DebugCheckSelfHosted ← Box#17 Value 19 GuardShape ← Unbox#7 Object 20 Elements ← GuardShape#19 Elements 21 ArrayLength ← Elements#20 I[0, 2147483647]: Int32 22 Goto → block 2 Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 AssertClass ← Lambda#11 27 Goto → block 3 Block 3 28 Goto → block 4 Block 4 29 Box ← Constant#2 Value 30 Goto → block 5 Block 5 31 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 32 Box ← Constant#31 Value 33 DebugCheckSelfHosted ← Box#32 Value 34 HasShape ← Unbox#7 Bool 35 Test ← HasShape#34 → block 6, block 7 1 0 Block 6 36 Constant function std_Array at 104289c6c820 Object 37 Box ← Constant#36 Value 38 DebugCheckSelfHosted ← Box#37 Value 39 Unbox DebugCheckSelfHosted#38 to Object (fallible) Object 40 GuardSpecificFunction ← Unbox#39, Constant#36 Object 41 NewArrayDynamicLength ← ArrayLength#21 Object 42 Goto → block 8 Block 7 43 CallGetIntrinsicValue Value 44 DebugCheckSelfHosted ← CallGetIntrinsicValue#43 Value 45 Bail 46 Unreachable Block 8 47 Constant 0x0 I[0, 0]: Int32 48 GuardShape ← Unbox#7 Object 49 Constant 2 I[2, 2]: Double 50 GuardShape ← NewArrayDynamicLength#41 Object 51 Goto → block 9 Block 9 (loop header) 52 Phi ← Constant#47, Add#74 I[0 {}, 2147483647 {[loop] #21-1}]: Int32 53 Constant magic optimized-out MagicOptimizedOut 54 InterruptCheck 55 Compare ← Phi#52, ArrayLength#21 Lt Bool 56 Test ← Compare#55 → block 10, block 15 1 0 Block 10 57 Elements ← GuardShape#48 Elements 58 InitializedLength ← Elements#57 I[0, 268435453]: Int32 59 BoundsCheck ← Phi#52, InitializedLength#58 I[0, 2147483646]: Int32 60 SpectreMaskIndex ← BoundsCheck#59, InitializedLength#58 I[0, 2147483646]: Int32 61 GuardElementNotHole ← Elements#57, SpectreMaskIndex#60 62 Goto → block 11 Block 11 63 GuardElementsArePacked ← Elements#57 64 LoadElement ← Elements#57, SpectreMaskIndex#60 Value 65 AssertClass ← Lambda#11 66 Goto → block 12 Block 12 67 Unbox LoadElement#64 to Double (fallible) Double 68 Mul ← Unbox#67, Constant#49 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 69 Goto → block 13 Block 13 70 Elements ← GuardShape#50 Elements 71 StoreElementHole ← GuardShape#50, Elements#70, Phi#52, Mul#68 72 Goto → block 14 Block 14 (backedge) 73 Constant 0x1 I[1, 1]: Int32 74 Add ← Phi#52, Constant#73 [int32] I[1, 2147483647]: Int32 75 Goto → block 9 Block 15 76 Constant function complex4/< (-e:18) at 104289c63d60 Object 77 GuardShape ← NewArrayDynamicLength#41 Object 78 Constant function filter (self-hosted:183) at 104289c47970 Object 79 Lambda ← FunctionEnvironment#6, Constant#76 Object 80 Goto → block 16 Block 16 81 DebugCheckSelfHosted ← Box#15 Value 82 DebugCheckSelfHosted ← Box#17 Value 83 GuardShape ← NewArrayDynamicLength#41 Object 84 Elements ← GuardShape#83 Elements 85 ArrayLength ← Elements#84 I[0, 2147483647]: Int32 86 Goto → block 17 Block 17 87 DebugCheckSelfHosted ← Box#24 Value 88 AssertClass ← Lambda#79 89 Goto → block 18 Block 18 90 Goto → block 19 Block 19 91 Goto → block 20 Block 20 92 DebugCheckSelfHosted ← Box#32 Value 93 HasShape ← NewArrayDynamicLength#41 Bool 94 Test ← HasShape#93 → block 21, block 22 1 0 Block 21 95 Constant shape at 104289c64f00 Shape 96 NewArrayObject ← Constant#95 Object 97 Goto → block 23 Block 22 98 CallGetIntrinsicValue Value 99 DebugCheckSelfHosted ← CallGetIntrinsicValue#98 Value 100 Bail 101 Unreachable Block 23 102 GuardShape ← NewArrayDynamicLength#41 Object 103 Constant 50 I[50, 50]: Double 104 GuardShape ← NewArrayObject#96 Object 105 Goto → block 24 Block 24 (loop header) 106 Phi ← Constant#47, Add#133 I[0 {}, 2147483647 {[loop] #85-1}]: Int32 107 Phi ← Constant#47, Phi#131 Int32 108 InterruptCheck 109 Compare ← Phi#106, ArrayLength#85 Lt Bool 110 Test ← Compare#109 → block 25, block 32 1 0 Block 25 111 Elements ← GuardShape#102 Elements 112 InitializedLength ← Elements#111 I[0, 268435453]: Int32 113 BoundsCheck ← Phi#106, InitializedLength#112 I[0, 2147483646]: Int32 114 SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112 I[0, 2147483646]: Int32 115 GuardElementNotHole ← Elements#111, SpectreMaskIndex#114 116 Goto → block 26 Block 26 117 GuardElementsArePacked ← Elements#111 118 LoadElement ← Elements#111, SpectreMaskIndex#114 Value 119 AssertClass ← Lambda#79 120 Goto → block 27 Block 27 121 Unbox LoadElement#118 to Double (fallible) Double 122 Compare ← Unbox#121, Constant#103 Gt Bool 123 Goto → block 28 Block 28 124 Test ← Compare#122 → block 30, block 29 1 0 Block 29 (split edge) 125 Goto → block 31 Block 30 126 Constant 0x1 I[1, 1]: Int32 127 Add ← Phi#107, Constant#126 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 128 Elements ← GuardShape#104 Elements 129 StoreElementHole ← GuardShape#104, Elements#128, Phi#107, LoadElement#118 130 Goto → block 31 Block 31 (backedge) 131 Phi ← Add#127, Phi#107 Int32 132 Constant 0x1 I[1, 1]: Int32 133 Add ← Phi#106, Constant#132 [int32] I[1, 2147483647]: Int32 134 Goto → block 24 Block 32 135 Constant function complex4/< (-e:18) at 104289c63d98 Object 136 GuardShape ← NewArrayObject#96 Object 137 Constant function reduce (self-hosted:205) at 104289c479c0 Object 138 Lambda ← FunctionEnvironment#6, Constant#135 Object 139 Call ← Constant#137, NewArrayObject#96, Lambda#138, Constant#47 Value 140 Return ← Call#139
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 9 Constant function map (self-hosted:163) at 104289c47920 Object 10 Constant function complex4/< (-e:18) at 104289c63d28 Object 11 Lambda ← FunctionEnvironment#6, Constant#10 Object 12 Goto → block 1 Block 1 13 Constant function ToObject at 104289c6c740 Object 14 Constant function ToLength at 104289c6c778 Object 15 Box ← Constant#13 Value 16 DebugCheckSelfHosted ← Box#15 Value 17 Box ← Constant#14 Value 18 DebugCheckSelfHosted ← Box#17 Value 19 GuardShape ← Unbox#7 Object 20 Elements ← GuardShape#19 Elements 21 ArrayLength ← Elements#20 I[0, 2147483647]: Int32 22 Goto → block 2 Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 AssertClass ← Lambda#11 27 Goto → block 3 Block 3 28 Goto → block 4 Block 4 29 Box ← Constant#2 Value 30 Goto → block 5 Block 5 31 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 32 Box ← Constant#31 Value 33 DebugCheckSelfHosted ← Box#32 Value 34 HasShape ← Unbox#7 Bool 35 Test ← HasShape#34 → block 6, block 7 1 0 Block 6 36 Constant function std_Array at 104289c6c820 Object 37 Box ← Constant#36 Value 38 DebugCheckSelfHosted ← Box#37 Value 39 Unbox DebugCheckSelfHosted#38 to Object (fallible) Object 40 GuardSpecificFunction ← Unbox#39, Constant#36 Object 41 NewArrayDynamicLength ← ArrayLength#21 Object 42 Goto → block 8 Block 7 43 CallGetIntrinsicValue Value 44 DebugCheckSelfHosted ← CallGetIntrinsicValue#43 Value 45 Bail 46 Unreachable Block 8 47 Constant 0x0 I[0, 0]: Int32 48 GuardShape ← Unbox#7 Object 49 Constant 2 I[2, 2]: Double 50 GuardShape ← NewArrayDynamicLength#41 Object 51 Goto → block 9 Block 9 (loop header) 52 Phi ← Constant#47, Add#74 I[0 {}, 2147483647 {[loop] #21-1}]: Int32 53 Constant magic optimized-out MagicOptimizedOut 54 InterruptCheck 55 Compare ← Phi#52, ArrayLength#21 Lt Bool 56 Test ← Compare#55 → block 10, block 15 1 0 Block 10 57 Elements ← GuardShape#48 Elements 58 InitializedLength ← Elements#57 I[0, 268435453]: Int32 59 BoundsCheck ← Phi#52, InitializedLength#58 I[0, 2147483646]: Int32 60 SpectreMaskIndex ← BoundsCheck#59, InitializedLength#58 I[0, 2147483646]: Int32 61 GuardElementNotHole ← Elements#57, SpectreMaskIndex#60 62 Goto → block 11 Block 11 63 GuardElementsArePacked ← Elements#57 64 LoadElement ← Elements#57, SpectreMaskIndex#60 Value 65 AssertClass ← Lambda#11 66 Goto → block 12 Block 12 67 Unbox LoadElement#64 to Double (fallible) Double 68 Mul ← Unbox#67, Constant#49 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 69 Goto → block 13 Block 13 70 Elements ← GuardShape#50 Elements 71 StoreElementHole ← GuardShape#50, Elements#70, Phi#52, Mul#68 72 Goto → block 14 Block 14 (backedge) 73 Constant 0x1 I[1, 1]: Int32 74 Add ← Phi#52, Constant#73 [int32] I[1, 2147483647]: Int32 75 Goto → block 9 Block 15 76 Constant function complex4/< (-e:18) at 104289c63d60 Object 77 GuardShape ← NewArrayDynamicLength#41 Object 78 Constant function filter (self-hosted:183) at 104289c47970 Object 79 Lambda ← FunctionEnvironment#6, Constant#76 Object 80 Goto → block 16 Block 16 81 DebugCheckSelfHosted ← Box#15 Value 82 DebugCheckSelfHosted ← Box#17 Value 83 GuardShape ← NewArrayDynamicLength#41 Object 84 Elements ← GuardShape#83 Elements 85 ArrayLength ← Elements#84 I[0, 2147483647]: Int32 86 Goto → block 17 Block 17 87 DebugCheckSelfHosted ← Box#24 Value 88 AssertClass ← Lambda#79 89 Goto → block 18 Block 18 90 Goto → block 19 Block 19 91 Goto → block 20 Block 20 92 DebugCheckSelfHosted ← Box#32 Value 93 HasShape ← NewArrayDynamicLength#41 Bool 94 Test ← HasShape#93 → block 21, block 22 1 0 Block 21 95 Constant shape at 104289c64f00 Shape 96 NewArrayObject ← Constant#95 Object 97 Goto → block 23 Block 22 98 CallGetIntrinsicValue Value 99 DebugCheckSelfHosted ← CallGetIntrinsicValue#98 Value 100 Bail 101 Unreachable Block 23 102 GuardShape ← NewArrayDynamicLength#41 Object 103 Constant 50 I[50, 50]: Double 104 GuardShape ← NewArrayObject#96 Object 105 Goto → block 24 Block 24 (loop header) 106 Phi ← Constant#47, Add#133 I[0 {}, 2147483647 {[loop] #85-1}]: Int32 107 Phi ← Constant#47, Phi#131 Int32 108 InterruptCheck 109 Compare ← Phi#106, ArrayLength#85 Lt Bool 110 Test ← Compare#109 → block 25, block 32 1 0 Block 25 111 Elements ← GuardShape#102 Elements 112 InitializedLength ← Elements#111 I[0, 268435453]: Int32 113 BoundsCheck ← Phi#106, InitializedLength#112 I[0, 2147483646]: Int32 114 SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112 I[0, 2147483646]: Int32 115 GuardElementNotHole ← Elements#111, SpectreMaskIndex#114 116 Goto → block 26 Block 26 117 GuardElementsArePacked ← Elements#111 118 LoadElement ← Elements#111, SpectreMaskIndex#114 Value 119 AssertClass ← Lambda#79 120 Goto → block 27 Block 27 121 Unbox LoadElement#118 to Double (fallible) Double 122 Compare ← Unbox#121, Constant#103 Gt Bool 123 Goto → block 28 Block 28 124 Test ← Compare#122 → block 30, block 29 1 0 Block 29 (split edge) 125 Goto → block 31 Block 30 126 Constant 0x1 I[1, 1]: Int32 127 Add ← Phi#107, Constant#126 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 128 Elements ← GuardShape#104 Elements 129 StoreElementHole ← GuardShape#104, Elements#128, Phi#107, LoadElement#118 130 Goto → block 31 Block 31 (backedge) 131 Phi ← Add#127, Phi#107 Int32 132 Constant 0x1 I[1, 1]: Int32 133 Add ← Phi#106, Constant#132 [int32] I[1, 2147483647]: Int32 134 Goto → block 24 Block 32 135 Constant function complex4/< (-e:18) at 104289c63d98 Object 136 GuardShape ← NewArrayObject#96 Object 137 Constant function reduce (self-hosted:205) at 104289c479c0 Object 138 Lambda ← FunctionEnvironment#6, Constant#135 Object 139 Call ← Constant#137, NewArrayObject#96, Lambda#138, Constant#47 Value 140 Return ← Call#139
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 9 Constant function map (self-hosted:163) at 104289c47920 Object 10 Constant function complex4/< (-e:18) at 104289c63d28 Object 11 Lambda ← FunctionEnvironment#6, Constant#10 Object 12 Goto → block 1 Block 1 13 Constant function ToObject at 104289c6c740 Object 14 Constant function ToLength at 104289c6c778 Object 15 Box ← Constant#13 Value 16 DebugCheckSelfHosted ← Box#15 Value 17 Box ← Constant#14 Value 18 DebugCheckSelfHosted ← Box#17 Value 19 GuardShape ← Unbox#7 Object 20 Elements ← GuardShape#19 Elements 21 ArrayLength ← Elements#20 I[0, 2147483647]: Int32 22 Goto → block 2 Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 AssertClass ← Lambda#11 27 Goto → block 3 Block 3 28 Goto → block 4 Block 4 29 Box ← Constant#2 Value 30 Goto → block 5 Block 5 31 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 32 Box ← Constant#31 Value 33 DebugCheckSelfHosted ← Box#32 Value 34 HasShape ← Unbox#7 Bool 35 Test ← HasShape#34 → block 6, block 7 1 0 Block 6 36 Constant function std_Array at 104289c6c820 Object 37 Box ← Constant#36 Value 38 DebugCheckSelfHosted ← Box#37 Value 39 Unbox DebugCheckSelfHosted#38 to Object (fallible) Object 40 GuardSpecificFunction ← Unbox#39, Constant#36 Object 41 NewArrayDynamicLength ← ArrayLength#21 Object 42 Goto → block 8 Block 7 43 CallGetIntrinsicValue Value 44 DebugCheckSelfHosted ← CallGetIntrinsicValue#43 Value 45 Bail 46 Unreachable Block 8 47 Constant 0x0 I[0, 0]: Int32 48 GuardShape ← Unbox#7 Object 49 Constant 2 I[2, 2]: Double 50 GuardShape ← NewArrayDynamicLength#41 Object 51 Goto → block 9 Block 9 (loop header) 52 Phi ← Constant#47, Add#74 I[0 {}, 2147483647 {[loop] #21-1}]: Int32 53 Constant magic optimized-out MagicOptimizedOut 54 InterruptCheck 55 Compare ← Phi#52, ArrayLength#21 Lt Bool 56 Test ← Compare#55 → block 10, block 15 1 0 Block 10 57 Elements ← GuardShape#48 Elements 58 InitializedLength ← Elements#57 I[0, 268435453]: Int32 59 BoundsCheck ← Phi#52, InitializedLength#58 I[0, 2147483646]: Int32 60 SpectreMaskIndex ← Phi#52, InitializedLength#58 I[0, 2147483646]: Int32 61 GuardElementNotHole ← Elements#57, SpectreMaskIndex#60 62 Goto → block 11 Block 11 63 GuardElementsArePacked ← Elements#57 64 LoadElement ← Elements#57, SpectreMaskIndex#60 Value 65 AssertClass ← Lambda#11 66 Goto → block 12 Block 12 67 Unbox LoadElement#64 to Double (fallible) Double 68 Mul ← Unbox#67, Constant#49 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 69 Goto → block 13 Block 13 70 Elements ← GuardShape#50 Elements 71 StoreElementHole ← GuardShape#50, Elements#70, Phi#52, Mul#68 72 Goto → block 14 Block 14 (backedge) 73 Constant 0x1 I[1, 1]: Int32 74 Add ← Phi#52, Constant#73 [int32] I[1, 2147483647]: Int32 75 Goto → block 9 Block 15 76 Constant function complex4/< (-e:18) at 104289c63d60 Object 77 GuardShape ← NewArrayDynamicLength#41 Object 78 Constant function filter (self-hosted:183) at 104289c47970 Object 79 Lambda ← FunctionEnvironment#6, Constant#76 Object 80 Goto → block 16 Block 16 81 DebugCheckSelfHosted ← Box#15 Value 82 DebugCheckSelfHosted ← Box#17 Value 83 GuardShape ← NewArrayDynamicLength#41 Object 84 Elements ← GuardShape#83 Elements 85 ArrayLength ← Elements#84 I[0, 2147483647]: Int32 86 Goto → block 17 Block 17 87 DebugCheckSelfHosted ← Box#24 Value 88 AssertClass ← Lambda#79 89 Goto → block 18 Block 18 90 Goto → block 19 Block 19 91 Goto → block 20 Block 20 92 DebugCheckSelfHosted ← Box#32 Value 93 HasShape ← NewArrayDynamicLength#41 Bool 94 Test ← HasShape#93 → block 21, block 22 1 0 Block 21 95 Constant shape at 104289c64f00 Shape 96 NewArrayObject ← Constant#95 Object 97 Goto → block 23 Block 22 98 CallGetIntrinsicValue Value 99 DebugCheckSelfHosted ← CallGetIntrinsicValue#98 Value 100 Bail 101 Unreachable Block 23 102 GuardShape ← NewArrayDynamicLength#41 Object 103 Constant 50 I[50, 50]: Double 104 GuardShape ← NewArrayObject#96 Object 105 Goto → block 24 Block 24 (loop header) 106 Phi ← Constant#47, Add#133 I[0 {}, 2147483647 {[loop] #85-1}]: Int32 107 Phi ← Constant#47, Phi#131 Int32 108 InterruptCheck 109 Compare ← Phi#106, ArrayLength#85 Lt Bool 110 Test ← Compare#109 → block 25, block 32 1 0 Block 25 111 Elements ← GuardShape#102 Elements 112 InitializedLength ← Elements#111 I[0, 268435453]: Int32 113 BoundsCheck ← Phi#106, InitializedLength#112 I[0, 2147483646]: Int32 114 SpectreMaskIndex ← Phi#106, InitializedLength#112 I[0, 2147483646]: Int32 115 GuardElementNotHole ← Elements#111, SpectreMaskIndex#114 116 Goto → block 26 Block 26 117 GuardElementsArePacked ← Elements#111 118 LoadElement ← Elements#111, SpectreMaskIndex#114 Value 119 AssertClass ← Lambda#79 120 Goto → block 27 Block 27 121 Unbox LoadElement#118 to Double (fallible) Double 122 Compare ← Unbox#121, Constant#103 Gt Bool 123 Goto → block 28 Block 28 124 Test ← Compare#122 → block 30, block 29 1 0 Block 29 (split edge) 125 Goto → block 31 Block 30 126 Constant 0x1 I[1, 1]: Int32 127 Add ← Phi#107, Constant#126 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 128 Elements ← GuardShape#104 Elements 129 StoreElementHole ← GuardShape#104, Elements#128, Phi#107, LoadElement#118 130 Goto → block 31 Block 31 (backedge) 131 Phi ← Add#127, Phi#107 Int32 132 Constant 0x1 I[1, 1]: Int32 133 Add ← Phi#106, Constant#132 [int32] I[1, 2147483647]: Int32 134 Goto → block 24 Block 32 135 Constant function complex4/< (-e:18) at 104289c63d98 Object 136 GuardShape ← NewArrayObject#96 Object 137 Constant function reduce (self-hosted:205) at 104289c479c0 Object 138 Lambda ← FunctionEnvironment#6, Constant#135 Object 139 Call ← Constant#137, NewArrayObject#96, Lambda#138, Constant#47 Value 140 Return ← Call#139
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 9 Constant function map (self-hosted:163) at 104289c47920 Object 10 Constant function complex4/< (-e:18) at 104289c63d28 Object 11 Lambda ← FunctionEnvironment#6, Constant#10 Object 12 Goto → block 1 Block 1 13 Constant function ToObject at 104289c6c740 Object 14 Constant function ToLength at 104289c6c778 Object 15 Box ← Constant#13 Value 16 DebugCheckSelfHosted ← Box#15 Value 17 Box ← Constant#14 Value 18 DebugCheckSelfHosted ← Box#17 Value 19 GuardShape ← Unbox#7 Object 20 Elements ← GuardShape#19 Elements 21 ArrayLength ← Elements#20 I[0, 2147483647]: Int32 22 Goto → block 2 Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 AssertClass ← Lambda#11 27 Goto → block 3 Block 3 28 Goto → block 4 Block 4 29 Box ← Constant#2 Value 30 Goto → block 5 Block 5 31 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 32 Box ← Constant#31 Value 33 DebugCheckSelfHosted ← Box#32 Value 34 HasShape ← Unbox#7 Bool 35 Test ← HasShape#34 → block 6, block 7 1 0 Block 6 36 Constant function std_Array at 104289c6c820 Object 37 Box ← Constant#36 Value 38 DebugCheckSelfHosted ← Box#37 Value 39 Unbox DebugCheckSelfHosted#38 to Object (fallible) Object 40 GuardSpecificFunction ← Unbox#39, Constant#36 Object 41 NewArrayDynamicLength ← ArrayLength#21 Object 42 Goto → block 8 Block 7 43 CallGetIntrinsicValue Value 44 DebugCheckSelfHosted ← CallGetIntrinsicValue#43 Value 45 Bail 46 Unreachable Block 8 47 Constant 0x0 I[0, 0]: Int32 48 GuardShape ← Unbox#7 Object 49 Constant 2 I[2, 2]: Double 50 GuardShape ← NewArrayDynamicLength#41 Object 51 Goto → block 9 Block 9 (loop header) 52 Phi ← Constant#47, Add#74 I[0 {}, 2147483647 {[loop] #21-1}]: Int32 53 Constant magic optimized-out MagicOptimizedOut 54 InterruptCheck 55 Compare ← Phi#52, ArrayLength#21 Lt Bool 56 Test ← Compare#55 → block 10, block 15 1 0 Block 10 57 Elements ← GuardShape#48 Elements 58 InitializedLength ← Elements#57 I[0, 268435453]: Int32 59 BoundsCheck ← Phi#52, InitializedLength#58 I[0, 2147483646]: Int32 60 SpectreMaskIndex ← Phi#52, InitializedLength#58 I[0, 2147483646]: Int32 61 GuardElementNotHole ← Elements#57, SpectreMaskIndex#60 62 Goto → block 11 Block 11 63 GuardElementsArePacked ← Elements#57 64 LoadElement ← Elements#57, SpectreMaskIndex#60 Value 65 AssertClass ← Lambda#11 66 Goto → block 12 Block 12 67 Unbox LoadElement#64 to Double (fallible) Double 68 Mul ← Unbox#67, Constant#49 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 69 Goto → block 13 Block 13 70 Elements ← GuardShape#50 Elements 71 StoreElementHole ← GuardShape#50, Elements#70, Phi#52, Mul#68 72 Goto → block 14 Block 14 (backedge) 73 Constant 0x1 I[1, 1]: Int32 74 Add ← Phi#52, Constant#73 [int32] I[1, 2147483647]: Int32 75 Goto → block 9 Block 15 76 Constant function complex4/< (-e:18) at 104289c63d60 Object 77 GuardShape ← NewArrayDynamicLength#41 Object 78 Constant function filter (self-hosted:183) at 104289c47970 Object 79 Lambda ← FunctionEnvironment#6, Constant#76 Object 80 Goto → block 16 Block 16 81 DebugCheckSelfHosted ← Box#15 Value 82 DebugCheckSelfHosted ← Box#17 Value 83 GuardShape ← NewArrayDynamicLength#41 Object 84 Elements ← GuardShape#83 Elements 85 ArrayLength ← Elements#84 I[0, 2147483647]: Int32 86 Goto → block 17 Block 17 87 DebugCheckSelfHosted ← Box#24 Value 88 AssertClass ← Lambda#79 89 Goto → block 18 Block 18 90 Goto → block 19 Block 19 91 Goto → block 20 Block 20 92 DebugCheckSelfHosted ← Box#32 Value 93 HasShape ← NewArrayDynamicLength#41 Bool 94 Test ← HasShape#93 → block 21, block 22 1 0 Block 21 95 Constant shape at 104289c64f00 Shape 96 NewArrayObject ← Constant#95 Object 97 Goto → block 23 Block 22 98 CallGetIntrinsicValue Value 99 DebugCheckSelfHosted ← CallGetIntrinsicValue#98 Value 100 Bail 101 Unreachable Block 23 102 GuardShape ← NewArrayDynamicLength#41 Object 103 Constant 50 I[50, 50]: Double 104 GuardShape ← NewArrayObject#96 Object 105 Goto → block 24 Block 24 (loop header) 106 Phi ← Constant#47, Add#133 I[0 {}, 2147483647 {[loop] #85-1}]: Int32 107 Phi ← Constant#47, Phi#131 Int32 108 InterruptCheck 109 Compare ← Phi#106, ArrayLength#85 Lt Bool 110 Test ← Compare#109 → block 25, block 32 1 0 Block 25 111 Elements ← GuardShape#102 Elements 112 InitializedLength ← Elements#111 I[0, 268435453]: Int32 113 BoundsCheck ← Phi#106, InitializedLength#112 I[0, 2147483646]: Int32 114 SpectreMaskIndex ← Phi#106, InitializedLength#112 I[0, 2147483646]: Int32 115 GuardElementNotHole ← Elements#111, SpectreMaskIndex#114 116 Goto → block 26 Block 26 117 GuardElementsArePacked ← Elements#111 118 LoadElement ← Elements#111, SpectreMaskIndex#114 Value 119 AssertClass ← Lambda#79 120 Goto → block 27 Block 27 121 Unbox LoadElement#118 to Double (fallible) Double 122 Compare ← Unbox#121, Constant#103 Gt Bool 123 Goto → block 28 Block 28 124 Test ← Compare#122 → block 30, block 29 1 0 Block 29 (split edge) 125 Goto → block 31 Block 30 126 Constant 0x1 I[1, 1]: Int32 127 Add ← Phi#107, Constant#126 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 128 Elements ← GuardShape#104 Elements 129 StoreElementHole ← GuardShape#104, Elements#128, Phi#107, LoadElement#118 130 Goto → block 31 Block 31 (backedge) 131 Phi ← Add#127, Phi#107 Int32 132 Constant 0x1 I[1, 1]: Int32 133 Add ← Phi#106, Constant#132 [int32] I[1, 2147483647]: Int32 134 Goto → block 24 Block 32 135 Constant function complex4/< (-e:18) at 104289c63d98 Object 136 GuardShape ← NewArrayObject#96 Object 137 Constant function reduce (self-hosted:205) at 104289c479c0 Object 138 Lambda ← FunctionEnvironment#6, Constant#135 Object 139 Call ← Constant#137, NewArrayObject#96, Lambda#138, Constant#47 Value 140 Return ← Call#139
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 9 Constant function map (self-hosted:163) at 104289c47920 Object 10 Constant function complex4/< (-e:18) at 104289c63d28 Object 11 Lambda ← FunctionEnvironment#6, Constant#10 Object 12 Goto → block 1 Block 1 13 Constant function ToObject at 104289c6c740 Object 14 Constant function ToLength at 104289c6c778 Object 15 Box ← Constant#13 Value 16 DebugCheckSelfHosted ← Box#15 Value 17 Box ← Constant#14 Value 18 DebugCheckSelfHosted ← Box#17 Value 19 GuardShape ← Unbox#7 Object 20 Elements ← GuardShape#19 Elements 21 ArrayLength ← Elements#20 I[0, 2147483647]: Int32 22 Goto → block 2 Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 AssertClass ← Lambda#11 27 Goto → block 3 Block 3 28 Goto → block 4 Block 4 29 Box ← Constant#2 Value 30 Goto → block 5 Block 5 31 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 32 Box ← Constant#31 Value 33 DebugCheckSelfHosted ← Box#32 Value 34 HasShape ← Unbox#7 Bool 35 Test ← HasShape#34 → block 6, block 7 1 0 Block 6 36 Constant function std_Array at 104289c6c820 Object 37 Box ← Constant#36 Value 38 DebugCheckSelfHosted ← Box#37 Value 39 Unbox DebugCheckSelfHosted#38 to Object (fallible) Object 40 GuardSpecificFunction ← Unbox#39, Constant#36 Object 41 NewArrayDynamicLength ← ArrayLength#21 Object 42 Goto → block 8 Block 7 43 CallGetIntrinsicValue Value 44 DebugCheckSelfHosted ← CallGetIntrinsicValue#43 Value 45 Bail 46 Unreachable Block 8 47 Constant 0x0 I[0, 0]: Int32 48 GuardShape ← Unbox#7 Object 49 Constant 2 I[2, 2]: Double 50 GuardShape ← NewArrayDynamicLength#41 Object 51 Goto → block 9 Block 9 (loop header) 52 Phi ← Constant#47, Add#74 I[0 {}, 2147483647 {[loop] #21-1}]: Int32 53 Constant magic optimized-out MagicOptimizedOut 54 InterruptCheck 55 Compare ← Phi#52, ArrayLength#21 Lt Bool 56 Test ← Compare#55 → block 10, block 15 1 0 Block 10 57 Elements ← GuardShape#48 Elements 58 InitializedLength ← Elements#57 I[0, 268435453]: Int32 59 BoundsCheck ← Phi#52, InitializedLength#58 I[0, 2147483646]: Int32 60 SpectreMaskIndex ← Phi#52, InitializedLength#58 I[0, 2147483646]: Int32 61 GuardElementNotHole ← Elements#57, SpectreMaskIndex#60 62 Goto → block 11 Block 11 63 GuardElementsArePacked ← Elements#57 64 LoadElement ← Elements#57, SpectreMaskIndex#60 Value 65 AssertClass ← Lambda#11 66 Goto → block 12 Block 12 67 Unbox LoadElement#64 to Double (fallible) Double 68 Mul ← Unbox#67, Constant#49 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 69 Goto → block 13 Block 13 70 Elements ← GuardShape#50 Elements 71 StoreElementHole ← GuardShape#50, Elements#70, Phi#52, Mul#68 72 Goto → block 14 Block 14 (backedge) 73 Constant 0x1 I[1, 1]: Int32 74 Add ← Phi#52, Constant#73 [int32] I[1, 2147483647]: Int32 75 Goto → block 9 Block 15 76 Constant function complex4/< (-e:18) at 104289c63d60 Object 77 GuardShape ← NewArrayDynamicLength#41 Object 78 Constant function filter (self-hosted:183) at 104289c47970 Object 79 Lambda ← FunctionEnvironment#6, Constant#76 Object 80 Goto → block 16 Block 16 81 DebugCheckSelfHosted ← Box#15 Value 82 DebugCheckSelfHosted ← Box#17 Value 83 GuardShape ← NewArrayDynamicLength#41 Object 84 Elements ← GuardShape#83 Elements 85 ArrayLength ← Elements#84 I[0, 2147483647]: Int32 86 Goto → block 17 Block 17 87 DebugCheckSelfHosted ← Box#24 Value 88 AssertClass ← Lambda#79 89 Goto → block 18 Block 18 90 Goto → block 19 Block 19 91 Goto → block 20 Block 20 92 DebugCheckSelfHosted ← Box#32 Value 93 HasShape ← NewArrayDynamicLength#41 Bool 94 Test ← HasShape#93 → block 21, block 22 1 0 Block 21 95 Constant shape at 104289c64f00 Shape 96 NewArrayObject ← Constant#95 Object 97 Goto → block 23 Block 22 98 CallGetIntrinsicValue Value 99 DebugCheckSelfHosted ← CallGetIntrinsicValue#98 Value 100 Bail 101 Unreachable Block 23 102 GuardShape ← NewArrayDynamicLength#41 Object 103 Constant 50 I[50, 50]: Double 104 GuardShape ← NewArrayObject#96 Object 105 Goto → block 24 Block 24 (loop header) 106 Phi ← Constant#47, Add#133 I[0 {}, 2147483647 {[loop] #85-1}]: Int32 107 Phi ← Constant#47, Phi#131 Int32 108 InterruptCheck 109 Compare ← Phi#106, ArrayLength#85 Lt Bool 110 Test ← Compare#109 → block 25, block 32 1 0 Block 25 111 Elements ← GuardShape#102 Elements 112 InitializedLength ← Elements#111 I[0, 268435453]: Int32 113 BoundsCheck ← Phi#106, InitializedLength#112 I[0, 2147483646]: Int32 114 SpectreMaskIndex ← Phi#106, InitializedLength#112 I[0, 2147483646]: Int32 115 GuardElementNotHole ← Elements#111, SpectreMaskIndex#114 116 Goto → block 26 Block 26 117 GuardElementsArePacked ← Elements#111 118 LoadElement ← Elements#111, SpectreMaskIndex#114 Value 119 AssertClass ← Lambda#79 120 Goto → block 27 Block 27 121 Unbox LoadElement#118 to Double (fallible) Double 122 Compare ← Unbox#121, Constant#103 Gt Bool 123 Goto → block 28 Block 28 124 Test ← Compare#122 → block 30, block 29 1 0 Block 29 (split edge) 125 Goto → block 31 Block 30 126 Constant 0x1 I[1, 1]: Int32 127 Add ← Phi#107, Constant#126 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 128 Elements ← GuardShape#104 Elements 129 StoreElementHole ← GuardShape#104, Elements#128, Phi#107, LoadElement#118 130 Goto → block 31 Block 31 (backedge) 131 Phi ← Add#127, Phi#107 Int32 132 Constant 0x1 I[1, 1]: Int32 133 Add ← Phi#106, Constant#132 [int32] I[1, 2147483647]: Int32 134 Goto → block 24 Block 32 135 Constant function complex4/< (-e:18) at 104289c63d98 Object 136 GuardShape ← NewArrayObject#96 Object 137 Constant function reduce (self-hosted:205) at 104289c479c0 Object 138 Lambda ← FunctionEnvironment#6, Constant#135 Object 139 Call ← Constant#137, NewArrayObject#96, Lambda#138, Constant#47 Value 140 Return ← Call#139
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 9 Constant function map (self-hosted:163) at 104289c47920 Object 10 Constant function complex4/< (-e:18) at 104289c63d28 Object 11 Lambda ← FunctionEnvironment#6, Constant#10 Object 12 Goto → block 1 Block 1 13 Constant function ToObject at 104289c6c740 Object 14 Constant function ToLength at 104289c6c778 Object 15 Box ← Constant#13 Value 16 DebugCheckSelfHosted ← Box#15 Value 17 Box ← Constant#14 Value 18 DebugCheckSelfHosted ← Box#17 Value 19 GuardShape ← Unbox#7 Object 20 Elements ← GuardShape#19 Elements 21 ArrayLength ← Elements#20 I[0, 2147483647]: Int32 22 Goto → block 2 Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 AssertClass ← Lambda#11 27 Goto → block 3 Block 3 28 Goto → block 4 Block 4 29 Box ← Constant#2 Value 30 Goto → block 5 Block 5 31 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 32 Box ← Constant#31 Value 33 DebugCheckSelfHosted ← Box#32 Value 34 HasShape ← Unbox#7 Bool 35 Test ← HasShape#34 → block 6, block 7 1 0 Block 6 36 Constant function std_Array at 104289c6c820 Object 37 Box ← Constant#36 Value 38 DebugCheckSelfHosted ← Box#37 Value 39 Unbox DebugCheckSelfHosted#38 to Object (fallible) Object 40 GuardSpecificFunction ← Unbox#39, Constant#36 Object 41 NewArrayDynamicLength ← ArrayLength#21 Object 42 Goto → block 8 Block 7 43 CallGetIntrinsicValue Value 44 DebugCheckSelfHosted ← CallGetIntrinsicValue#43 Value 45 Bail 46 Unreachable Block 8 47 Constant 0x0 I[0, 0]: Int32 48 GuardShape ← Unbox#7 Object 49 Constant 2 I[2, 2]: Double 50 GuardShape ← NewArrayDynamicLength#41 Object 51 Goto → block 9 Block 9 (loop header) 52 Phi ← Constant#47, Add#74 I[0 {}, 2147483647 {[loop] #21-1}]: Int32 53 Constant magic optimized-out MagicOptimizedOut 54 InterruptCheck 55 Compare ← Phi#52, ArrayLength#21 Lt Bool 56 Test ← Compare#55 → block 10, block 15 1 0 Block 10 57 Elements ← GuardShape#48 Elements 58 InitializedLength ← Elements#57 I[0, 268435453]: Int32 59 BoundsCheck ← Phi#52, InitializedLength#58 I[0, 2147483646]: Int32 60 SpectreMaskIndex ← Phi#52, InitializedLength#58 I[0, 2147483646]: Int32 61 GuardElementNotHole ← Elements#57, SpectreMaskIndex#60 62 Goto → block 11 Block 11 63 GuardElementsArePacked ← Elements#57 64 LoadElement ← Elements#57, SpectreMaskIndex#60 Value 65 AssertClass ← Lambda#11 66 Goto → block 12 Block 12 67 Unbox LoadElement#64 to Double (fallible) Double 68 Mul ← Unbox#67, Constant#49 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 69 Goto → block 13 Block 13 70 Elements ← GuardShape#50 Elements 71 StoreElementHole ← GuardShape#50, Elements#70, Phi#52, Mul#68 72 Goto → block 14 Block 14 (backedge) 73 Constant 0x1 I[1, 1]: Int32 74 Add ← Phi#52, Constant#73 [int32] I[1, 2147483647]: Int32 75 Goto → block 9 Block 15 76 Constant function complex4/< (-e:18) at 104289c63d60 Object 77 GuardShape ← NewArrayDynamicLength#41 Object 78 Constant function filter (self-hosted:183) at 104289c47970 Object 79 Lambda ← FunctionEnvironment#6, Constant#76 Object 80 Goto → block 16 Block 16 81 DebugCheckSelfHosted ← Box#15 Value 82 DebugCheckSelfHosted ← Box#17 Value 83 GuardShape ← NewArrayDynamicLength#41 Object 84 Elements ← GuardShape#83 Elements 85 ArrayLength ← Elements#84 I[0, 2147483647]: Int32 86 Goto → block 17 Block 17 87 DebugCheckSelfHosted ← Box#24 Value 88 AssertClass ← Lambda#79 89 Goto → block 18 Block 18 90 Goto → block 19 Block 19 91 Goto → block 20 Block 20 92 DebugCheckSelfHosted ← Box#32 Value 93 HasShape ← NewArrayDynamicLength#41 Bool 94 Test ← HasShape#93 → block 21, block 22 1 0 Block 21 95 Constant shape at 104289c64f00 Shape 96 NewArrayObject ← Constant#95 Object 97 Goto → block 23 Block 22 98 CallGetIntrinsicValue Value 99 DebugCheckSelfHosted ← CallGetIntrinsicValue#98 Value 100 Bail 101 Unreachable Block 23 102 GuardShape ← NewArrayDynamicLength#41 Object 103 Constant 50 I[50, 50]: Double 104 GuardShape ← NewArrayObject#96 Object 105 Goto → block 24 Block 24 (loop header) 106 Phi ← Constant#47, Add#133 I[0 {}, 2147483647 {[loop] #85-1}]: Int32 107 Phi ← Constant#47, Phi#131 Int32 108 InterruptCheck 109 Compare ← Phi#106, ArrayLength#85 Lt Bool 110 Test ← Compare#109 → block 25, block 32 1 0 Block 25 111 Elements ← GuardShape#102 Elements 112 InitializedLength ← Elements#111 I[0, 268435453]: Int32 113 BoundsCheck ← Phi#106, InitializedLength#112 I[0, 2147483646]: Int32 114 SpectreMaskIndex ← Phi#106, InitializedLength#112 I[0, 2147483646]: Int32 115 GuardElementNotHole ← Elements#111, SpectreMaskIndex#114 116 Goto → block 26 Block 26 117 GuardElementsArePacked ← Elements#111 118 LoadElement ← Elements#111, SpectreMaskIndex#114 Value 119 AssertClass ← Lambda#79 120 Goto → block 27 Block 27 121 Unbox LoadElement#118 to Double (fallible) Double 122 Compare ← Unbox#121, Constant#103 Gt Bool 123 Goto → block 28 Block 28 124 Test ← Compare#122 → block 30, block 29 1 0 Block 29 (split edge) 125 Goto → block 31 Block 30 126 Constant 0x1 I[1, 1]: Int32 127 Add ← Phi#107, Constant#126 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 128 Elements ← GuardShape#104 Elements 129 StoreElementHole ← GuardShape#104, Elements#128, Phi#107, LoadElement#118 130 Goto → block 31 Block 31 (backedge) 131 Phi ← Add#127, Phi#107 Int32 132 Constant 0x1 I[1, 1]: Int32 133 Add ← Phi#106, Constant#132 [int32] I[1, 2147483647]: Int32 134 Goto → block 24 Block 32 135 Constant function complex4/< (-e:18) at 104289c63d98 Object 136 GuardShape ← NewArrayObject#96 Object 137 Constant function reduce (self-hosted:205) at 104289c479c0 Object 138 Lambda ← FunctionEnvironment#6, Constant#135 Object 139 Call ← Constant#137, NewArrayObject#96, Lambda#138, Constant#47 Value 140 Return ← Call#139
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 9 Constant function map (self-hosted:163) at 104289c47920 Object 10 Constant function complex4/< (-e:18) at 104289c63d28 Object 11 Lambda ← FunctionEnvironment#6, Constant#10 Object 12 Goto → block 1 Block 1 13 Constant function ToObject at 104289c6c740 Object 14 Constant function ToLength at 104289c6c778 Object 15 Box ← Constant#13 Value 16 DebugCheckSelfHosted ← Box#15 Value 17 Box ← Constant#14 Value 18 DebugCheckSelfHosted ← Box#17 Value 19 GuardShape ← Unbox#7 Object 20 Elements ← GuardShape#19 Elements 402 DebugEnterGCUnsafeRegion 21 ArrayLength ← Elements#20 I[0, 2147483647]: Int32 403 DebugLeaveGCUnsafeRegion 22 Goto → block 2 Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 AssertClass ← Lambda#11 27 Goto → block 3 Block 3 28 Goto → block 4 Block 4 29 Box ← Constant#2 Value 30 Goto → block 5 Block 5 31 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 32 Box ← Constant#31 Value 33 DebugCheckSelfHosted ← Box#32 Value 34 HasShape ← Unbox#7 Bool 35 Test ← HasShape#34 → block 6, block 7 1 0 Block 6 36 Constant function std_Array at 104289c6c820 Object 37 Box ← Constant#36 Value 38 DebugCheckSelfHosted ← Box#37 Value 39 Unbox DebugCheckSelfHosted#38 to Object (fallible) Object 40 GuardSpecificFunction ← Unbox#39, Constant#36 Object 41 NewArrayDynamicLength ← ArrayLength#21 Object 42 Goto → block 8 Block 7 43 CallGetIntrinsicValue Value 44 DebugCheckSelfHosted ← CallGetIntrinsicValue#43 Value 45 Bail 46 Unreachable Block 8 47 Constant 0x0 I[0, 0]: Int32 48 GuardShape ← Unbox#7 Object 49 Constant 2 I[2, 2]: Double 50 GuardShape ← NewArrayDynamicLength#41 Object 51 Goto → block 9 Block 9 (loop header) 52 Phi ← Constant#47, Add#74 I[0 {}, 2147483647 {[loop] #21-1}]: Int32 53 Constant magic optimized-out MagicOptimizedOut 54 InterruptCheck 55 Compare ← Phi#52, ArrayLength#21 Lt Bool 56 Test ← Compare#55 → block 10, block 15 1 0 Block 10 57 Elements ← GuardShape#48 Elements 408 DebugEnterGCUnsafeRegion 406 DebugEnterGCUnsafeRegion 58 InitializedLength ← Elements#57 I[0, 268435453]: Int32 409 DebugLeaveGCUnsafeRegion 59 BoundsCheck ← Phi#52, InitializedLength#58 I[0, 2147483646]: Int32 60 SpectreMaskIndex ← Phi#52, InitializedLength#58 I[0, 2147483646]: Int32 61 GuardElementNotHole ← Elements#57, SpectreMaskIndex#60 407 DebugLeaveGCUnsafeRegion 62 Goto → block 11 Block 11 63 GuardElementsArePacked ← Elements#57 405 KeepAliveObject ← GuardShape#48 64 LoadElement ← Elements#57, SpectreMaskIndex#60 Value 404 KeepAliveObject ← GuardShape#48 65 AssertClass ← Lambda#11 66 Goto → block 12 Block 12 67 Unbox LoadElement#64 to Double (fallible) Double 68 Mul ← Unbox#67, Constant#49 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 69 Goto → block 13 Block 13 70 Elements ← GuardShape#50 Elements 71 StoreElementHole ← GuardShape#50, Elements#70, Phi#52, Mul#68 72 Goto → block 14 Block 14 (backedge) 73 Constant 0x1 I[1, 1]: Int32 74 Add ← Phi#52, Constant#73 [int32] I[1, 2147483647]: Int32 75 Goto → block 9 Block 15 76 Constant function complex4/< (-e:18) at 104289c63d60 Object 77 GuardShape ← NewArrayDynamicLength#41 Object 78 Constant function filter (self-hosted:183) at 104289c47970 Object 79 Lambda ← FunctionEnvironment#6, Constant#76 Object 80 Goto → block 16 Block 16 81 DebugCheckSelfHosted ← Box#15 Value 82 DebugCheckSelfHosted ← Box#17 Value 83 GuardShape ← NewArrayDynamicLength#41 Object 84 Elements ← GuardShape#83 Elements 410 DebugEnterGCUnsafeRegion 85 ArrayLength ← Elements#84 I[0, 2147483647]: Int32 411 DebugLeaveGCUnsafeRegion 86 Goto → block 17 Block 17 87 DebugCheckSelfHosted ← Box#24 Value 88 AssertClass ← Lambda#79 89 Goto → block 18 Block 18 90 Goto → block 19 Block 19 91 Goto → block 20 Block 20 92 DebugCheckSelfHosted ← Box#32 Value 93 HasShape ← NewArrayDynamicLength#41 Bool 94 Test ← HasShape#93 → block 21, block 22 1 0 Block 21 95 Constant shape at 104289c64f00 Shape 96 NewArrayObject ← Constant#95 Object 97 Goto → block 23 Block 22 98 CallGetIntrinsicValue Value 99 DebugCheckSelfHosted ← CallGetIntrinsicValue#98 Value 100 Bail 101 Unreachable Block 23 102 GuardShape ← NewArrayDynamicLength#41 Object 103 Constant 50 I[50, 50]: Double 104 GuardShape ← NewArrayObject#96 Object 105 Goto → block 24 Block 24 (loop header) 106 Phi ← Constant#47, Add#133 I[0 {}, 2147483647 {[loop] #85-1}]: Int32 107 Phi ← Constant#47, Phi#131 Int32 108 InterruptCheck 109 Compare ← Phi#106, ArrayLength#85 Lt Bool 110 Test ← Compare#109 → block 25, block 32 1 0 Block 25 111 Elements ← GuardShape#102 Elements 416 DebugEnterGCUnsafeRegion 414 DebugEnterGCUnsafeRegion 112 InitializedLength ← Elements#111 I[0, 268435453]: Int32 417 DebugLeaveGCUnsafeRegion 113 BoundsCheck ← Phi#106, InitializedLength#112 I[0, 2147483646]: Int32 114 SpectreMaskIndex ← Phi#106, InitializedLength#112 I[0, 2147483646]: Int32 115 GuardElementNotHole ← Elements#111, SpectreMaskIndex#114 415 DebugLeaveGCUnsafeRegion 116 Goto → block 26 Block 26 117 GuardElementsArePacked ← Elements#111 413 KeepAliveObject ← GuardShape#102 118 LoadElement ← Elements#111, SpectreMaskIndex#114 Value 412 KeepAliveObject ← GuardShape#102 119 AssertClass ← Lambda#79 120 Goto → block 27 Block 27 121 Unbox LoadElement#118 to Double (fallible) Double 122 Compare ← Unbox#121, Constant#103 Gt Bool 123 Goto → block 28 Block 28 124 Test ← Compare#122 → block 30, block 29 1 0 Block 29 (split edge) 125 Goto → block 31 Block 30 126 Constant 0x1 I[1, 1]: Int32 127 Add ← Phi#107, Constant#126 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 128 Elements ← GuardShape#104 Elements 129 StoreElementHole ← GuardShape#104, Elements#128, Phi#107, LoadElement#118 130 Goto → block 31 Block 31 (backedge) 131 Phi ← Add#127, Phi#107 Int32 132 Constant 0x1 I[1, 1]: Int32 133 Add ← Phi#106, Constant#132 [int32] I[1, 2147483647]: Int32 134 Goto → block 24 Block 32 135 Constant function complex4/< (-e:18) at 104289c63d98 Object 136 GuardShape ← NewArrayObject#96 Object 137 Constant function reduce (self-hosted:205) at 104289c479c0 Object 138 Lambda ← FunctionEnvironment#6, Constant#135 Object 139 Call ← Constant#137, NewArrayObject#96, Lambda#138, Constant#47 Value 140 Return ← Call#139
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 9 Constant function map (self-hosted:163) at 104289c47920 Object 10 Constant function complex4/< (-e:18) at 104289c63d28 Object 11 Lambda ← FunctionEnvironment#6, Constant#10 Object 12 Goto → block 1 Block 1 13 Constant function ToObject at 104289c6c740 Object 14 Constant function ToLength at 104289c6c778 Object 15 Box ← Constant#13 Value 16 DebugCheckSelfHosted ← Box#15 Value 17 Box ← Constant#14 Value 18 DebugCheckSelfHosted ← Box#17 Value 19 GuardShape ← Unbox#7 Object 20 Elements ← GuardShape#19 Elements 402 DebugEnterGCUnsafeRegion 21 ArrayLength ← Elements#20 I[0, 2147483647]: Int32 403 DebugLeaveGCUnsafeRegion 22 Goto → block 2 Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 AssertClass ← Lambda#11 27 Goto → block 3 Block 3 28 Goto → block 4 Block 4 29 Box ← Constant#2 Value 30 Goto → block 5 Block 5 31 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 32 Box ← Constant#31 Value 33 DebugCheckSelfHosted ← Box#32 Value 34 HasShape ← Unbox#7 Bool 35 Test ← HasShape#34 → block 6, block 7 1 0 Block 6 36 Constant function std_Array at 104289c6c820 Object 37 Box ← Constant#36 Value 38 DebugCheckSelfHosted ← Box#37 Value 39 Unbox Box#37 to Object (fallible) Object 40 GuardSpecificFunction ← Unbox#39, Constant#36 Object 41 NewArrayDynamicLength ← ArrayLength#21 Object 42 Goto → block 8 Block 7 43 CallGetIntrinsicValue Value 44 DebugCheckSelfHosted ← CallGetIntrinsicValue#43 Value 45 Bail 46 Unreachable Block 8 47 Constant 0x0 I[0, 0]: Int32 48 GuardShape ← Unbox#7 Object 49 Constant 2 I[2, 2]: Double 50 GuardShape ← NewArrayDynamicLength#41 Object 51 Goto → block 9 Block 9 (loop header) 52 Phi ← Constant#47, Add#74 I[0 {}, 2147483647 {[loop] #21-1}]: Int32 53 Constant magic optimized-out MagicOptimizedOut 54 InterruptCheck 55 Compare ← Phi#52, ArrayLength#21 Lt Bool 56 Test ← Compare#55 → block 10, block 15 1 0 Block 10 57 Elements ← GuardShape#48 Elements 408 DebugEnterGCUnsafeRegion 406 DebugEnterGCUnsafeRegion 58 InitializedLength ← Elements#57 I[0, 268435453]: Int32 409 DebugLeaveGCUnsafeRegion 59 BoundsCheck ← Phi#52, InitializedLength#58 I[0, 2147483646]: Int32 60 SpectreMaskIndex ← Phi#52, InitializedLength#58 I[0, 2147483646]: Int32 61 GuardElementNotHole ← Elements#57, SpectreMaskIndex#60 407 DebugLeaveGCUnsafeRegion 62 Goto → block 11 Block 11 63 GuardElementsArePacked ← Elements#57 405 KeepAliveObject ← GuardShape#48 64 LoadElement ← Elements#57, SpectreMaskIndex#60 Value 404 KeepAliveObject ← GuardShape#48 65 AssertClass ← Lambda#11 66 Goto → block 12 Block 12 67 Unbox LoadElement#64 to Double (fallible) Double 68 Mul ← Unbox#67, Constant#49 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 69 Goto → block 13 Block 13 70 Elements ← GuardShape#50 Elements 71 StoreElementHole ← GuardShape#50, Elements#70, Phi#52, Mul#68 72 Goto → block 14 Block 14 (backedge) 73 Constant 0x1 I[1, 1]: Int32 74 Add ← Phi#52, Constant#73 [int32] I[1, 2147483647]: Int32 75 Goto → block 9 Block 15 76 Constant function complex4/< (-e:18) at 104289c63d60 Object 77 GuardShape ← NewArrayDynamicLength#41 Object 78 Constant function filter (self-hosted:183) at 104289c47970 Object 79 Lambda ← FunctionEnvironment#6, Constant#76 Object 80 Goto → block 16 Block 16 81 DebugCheckSelfHosted ← Box#15 Value 82 DebugCheckSelfHosted ← Box#17 Value 83 GuardShape ← NewArrayDynamicLength#41 Object 84 Elements ← GuardShape#83 Elements 410 DebugEnterGCUnsafeRegion 85 ArrayLength ← Elements#84 I[0, 2147483647]: Int32 411 DebugLeaveGCUnsafeRegion 86 Goto → block 17 Block 17 87 DebugCheckSelfHosted ← Box#24 Value 88 AssertClass ← Lambda#79 89 Goto → block 18 Block 18 90 Goto → block 19 Block 19 91 Goto → block 20 Block 20 92 DebugCheckSelfHosted ← Box#32 Value 93 HasShape ← NewArrayDynamicLength#41 Bool 94 Test ← HasShape#93 → block 21, block 22 1 0 Block 21 95 Constant shape at 104289c64f00 Shape 96 NewArrayObject ← Constant#95 Object 97 Goto → block 23 Block 22 98 CallGetIntrinsicValue Value 99 DebugCheckSelfHosted ← CallGetIntrinsicValue#98 Value 100 Bail 101 Unreachable Block 23 102 GuardShape ← NewArrayDynamicLength#41 Object 103 Constant 50 I[50, 50]: Double 104 GuardShape ← NewArrayObject#96 Object 105 Goto → block 24 Block 24 (loop header) 106 Phi ← Constant#47, Add#133 I[0 {}, 2147483647 {[loop] #85-1}]: Int32 107 Phi ← Constant#47, Phi#131 Int32 108 InterruptCheck 109 Compare ← Phi#106, ArrayLength#85 Lt Bool 110 Test ← Compare#109 → block 25, block 32 1 0 Block 25 111 Elements ← GuardShape#102 Elements 416 DebugEnterGCUnsafeRegion 414 DebugEnterGCUnsafeRegion 112 InitializedLength ← Elements#111 I[0, 268435453]: Int32 417 DebugLeaveGCUnsafeRegion 113 BoundsCheck ← Phi#106, InitializedLength#112 I[0, 2147483646]: Int32 114 SpectreMaskIndex ← Phi#106, InitializedLength#112 I[0, 2147483646]: Int32 115 GuardElementNotHole ← Elements#111, SpectreMaskIndex#114 415 DebugLeaveGCUnsafeRegion 116 Goto → block 26 Block 26 117 GuardElementsArePacked ← Elements#111 413 KeepAliveObject ← GuardShape#102 118 LoadElement ← Elements#111, SpectreMaskIndex#114 Value 412 KeepAliveObject ← GuardShape#102 119 AssertClass ← Lambda#79 120 Goto → block 27 Block 27 121 Unbox LoadElement#118 to Double (fallible) Double 122 Compare ← Unbox#121, Constant#103 Gt Bool 123 Goto → block 28 Block 28 124 Test ← Compare#122 → block 30, block 29 1 0 Block 29 (split edge) 125 Goto → block 31 Block 30 126 Constant 0x1 I[1, 1]: Int32 127 Add ← Phi#107, Constant#126 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 128 Elements ← GuardShape#104 Elements 129 StoreElementHole ← GuardShape#104, Elements#128, Phi#107, LoadElement#118 130 Goto → block 31 Block 31 (backedge) 131 Phi ← Add#127, Phi#107 Int32 132 Constant 0x1 I[1, 1]: Int32 133 Add ← Phi#106, Constant#132 [int32] I[1, 2147483647]: Int32 134 Goto → block 24 Block 32 135 Constant function complex4/< (-e:18) at 104289c63d98 Object 136 GuardShape ← NewArrayObject#96 Object 137 Constant function reduce (self-hosted:205) at 104289c479c0 Object 138 Lambda ← FunctionEnvironment#6, Constant#135 Object 139 Call ← Constant#137, NewArrayObject#96, Lambda#138, Constant#47 Value 140 Return ← Call#139
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Callee Object 6 FunctionEnvironment ← Callee#5 Object 7 Unbox Parameter#1 to Object (fallible) Object 8 GuardShape ← Unbox#7 Object 9 Constant function map (self-hosted:163) at 104289c47920 Object 10 Constant function complex4/< (-e:18) at 104289c63d28 Object 11 Lambda ← FunctionEnvironment#6, Constant#10 Object 12 Goto → block 1 Block 1 13 Constant function ToObject at 104289c6c740 Object 14 Constant function ToLength at 104289c6c778 Object 15 Box ← Constant#13 Value 16 DebugCheckSelfHosted ← Box#15 Value 17 Box ← Constant#14 Value 18 DebugCheckSelfHosted ← Box#17 Value 19 GuardShape ← Unbox#7 Object 20 Elements ← GuardShape#19 Elements 402 DebugEnterGCUnsafeRegion 21 ArrayLength ← Elements#20 I[0, 2147483647]: Int32 403 DebugLeaveGCUnsafeRegion 22 Goto → block 2 Block 2 23 Constant function IsCallable at 104289c6c7b0 Object 24 Box ← Constant#23 Value 25 DebugCheckSelfHosted ← Box#24 Value 26 AssertClass ← Lambda#11 27 Goto → block 3 Block 3 28 Goto → block 4 Block 4 29 Box ← Constant#2 Value 30 Goto → block 5 Block 5 31 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 32 Box ← Constant#31 Value 33 DebugCheckSelfHosted ← Box#32 Value 34 HasShape ← Unbox#7 Bool 35 Test ← HasShape#34 → block 6, block 7 1 0 Block 6 36 Constant function std_Array at 104289c6c820 Object 37 Box ← Constant#36 Value 38 DebugCheckSelfHosted ← Box#37 Value 39 Unbox Box#37 to Object (fallible) Object 40 GuardSpecificFunction ← Unbox#39, Constant#36 Object 41 NewArrayDynamicLength ← ArrayLength#21 Object 42 Goto → block 8 Block 7 43 CallGetIntrinsicValue Value 44 DebugCheckSelfHosted ← CallGetIntrinsicValue#43 Value 45 Bail 46 Unreachable Block 8 47 Constant 0x0 I[0, 0]: Int32 48 GuardShape ← Unbox#7 Object 49 Constant 2 I[2, 2]: Double 50 GuardShape ← NewArrayDynamicLength#41 Object 51 Goto → block 9 Block 9 (loop header) 52 Phi ← Constant#47, Add#74 I[0 {}, 2147483647 {[loop] #21-1}]: Int32 53 Constant magic optimized-out MagicOptimizedOut 54 InterruptCheck 55 Compare ← Phi#52, ArrayLength#21 Lt Bool 56 Test ← Compare#55 → block 10, block 15 1 0 Block 10 57 Elements ← GuardShape#48 Elements 408 DebugEnterGCUnsafeRegion 406 DebugEnterGCUnsafeRegion 58 InitializedLength ← Elements#57 I[0, 268435453]: Int32 409 DebugLeaveGCUnsafeRegion 59 BoundsCheck ← Phi#52, InitializedLength#58 I[0, 2147483646]: Int32 60 SpectreMaskIndex ← Phi#52, InitializedLength#58 I[0, 2147483646]: Int32 61 GuardElementNotHole ← Elements#57, SpectreMaskIndex#60 407 DebugLeaveGCUnsafeRegion 62 Goto → block 11 Block 11 63 GuardElementsArePacked ← Elements#57 405 KeepAliveObject ← GuardShape#48 64 LoadElement ← Elements#57, SpectreMaskIndex#60 Value 404 KeepAliveObject ← GuardShape#48 65 AssertClass ← Lambda#11 66 Goto → block 12 Block 12 67 Unbox LoadElement#64 to Double (fallible) Double 68 Mul ← Unbox#67, Constant#49 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 69 Goto → block 13 Block 13 70 Elements ← GuardShape#50 Elements 71 StoreElementHole ← GuardShape#50, Elements#70, Phi#52, Mul#68 72 Goto → block 14 Block 14 (backedge) 73 Constant 0x1 I[1, 1]: Int32 74 Add ← Phi#52, Constant#73 [int32] I[1, 2147483647]: Int32 75 Goto → block 9 Block 15 76 Constant function complex4/< (-e:18) at 104289c63d60 Object 77 GuardShape ← NewArrayDynamicLength#41 Object 78 Constant function filter (self-hosted:183) at 104289c47970 Object 79 Lambda ← FunctionEnvironment#6, Constant#76 Object 80 Goto → block 16 Block 16 81 DebugCheckSelfHosted ← Box#15 Value 82 DebugCheckSelfHosted ← Box#17 Value 83 GuardShape ← NewArrayDynamicLength#41 Object 84 Elements ← GuardShape#83 Elements 410 DebugEnterGCUnsafeRegion 85 ArrayLength ← Elements#84 I[0, 2147483647]: Int32 411 DebugLeaveGCUnsafeRegion 86 Goto → block 17 Block 17 87 DebugCheckSelfHosted ← Box#24 Value 88 AssertClass ← Lambda#79 89 Goto → block 18 Block 18 90 Goto → block 19 Block 19 91 Goto → block 20 Block 20 92 DebugCheckSelfHosted ← Box#32 Value 93 HasShape ← NewArrayDynamicLength#41 Bool 94 Test ← HasShape#93 → block 21, block 22 1 0 Block 21 95 Constant shape at 104289c64f00 Shape 96 NewArrayObject ← Constant#95 Object 97 Goto → block 23 Block 22 98 CallGetIntrinsicValue Value 99 DebugCheckSelfHosted ← CallGetIntrinsicValue#98 Value 100 Bail 101 Unreachable Block 23 102 GuardShape ← NewArrayDynamicLength#41 Object 103 Constant 50 I[50, 50]: Double 104 GuardShape ← NewArrayObject#96 Object 105 Goto → block 24 Block 24 (loop header) 106 Phi ← Constant#47, Add#133 I[0 {}, 2147483647 {[loop] #85-1}]: Int32 107 Phi ← Constant#47, Phi#131 Int32 108 InterruptCheck 109 Compare ← Phi#106, ArrayLength#85 Lt Bool 110 Test ← Compare#109 → block 25, block 32 1 0 Block 25 111 Elements ← GuardShape#102 Elements 416 DebugEnterGCUnsafeRegion 414 DebugEnterGCUnsafeRegion 112 InitializedLength ← Elements#111 I[0, 268435453]: Int32 417 DebugLeaveGCUnsafeRegion 113 BoundsCheck ← Phi#106, InitializedLength#112 I[0, 2147483646]: Int32 114 SpectreMaskIndex ← Phi#106, InitializedLength#112 I[0, 2147483646]: Int32 115 GuardElementNotHole ← Elements#111, SpectreMaskIndex#114 415 DebugLeaveGCUnsafeRegion 116 Goto → block 26 Block 26 117 GuardElementsArePacked ← Elements#111 413 KeepAliveObject ← GuardShape#102 118 LoadElement ← Elements#111, SpectreMaskIndex#114 Value 412 KeepAliveObject ← GuardShape#102 119 AssertClass ← Lambda#79 120 Goto → block 27 Block 27 121 Unbox LoadElement#118 to Double (fallible) Double 122 Compare ← Unbox#121, Constant#103 Gt Bool 123 Goto → block 28 Block 28 124 Test ← Compare#122 → block 30, block 29 1 0 Block 29 (split edge) 125 Goto → block 31 Block 30 126 Constant 0x1 I[1, 1]: Int32 127 Add ← Phi#107, Constant#126 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 128 Elements ← GuardShape#104 Elements 129 StoreElementHole ← GuardShape#104, Elements#128, Phi#107, LoadElement#118 130 Goto → block 31 Block 31 (backedge) 131 Phi ← Add#127, Phi#107 Int32 132 Constant 0x1 I[1, 1]: Int32 133 Add ← Phi#106, Constant#132 [int32] I[1, 2147483647]: Int32 134 Goto → block 24 Block 32 135 Constant function complex4/< (-e:18) at 104289c63d98 Object 136 GuardShape ← NewArrayObject#96 Object 137 Constant function reduce (self-hosted:205) at 104289c479c0 Object 138 Lambda ← FunctionEnvironment#6, Constant#135 Object 139 Call ← Constant#137, NewArrayObject#96, Lambda#138, Constant#47 Value 140 Return ← Call#139
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant magic uninitialized-lexical MagicUninitializedLexical 6 Constant object 104289c3f040 (LexicalEnvironment) Object 7 Constant object 104289c3e030 (global) Object 8 Constant function complex1 (-e:2) at 104289c6c8c8 Object 9 Constant undefined Undefined 10 Constant 0x1 Int32 11 Constant function complex1 (-e:2) at 104289c6c8c8 Object 12 GuardSpecificFunction ← Constant#8, Constant#11 Object 13 Call ← GuardSpecificFunction#12, Constant#9, Parameter#1 Value 14 Constant object 104289c3f040 (LexicalEnvironment) Object 15 Constant object 104289c3e030 (global) Object 16 Constant function complex2 (-e:7) at 104289c6c970 Object 17 Constant undefined Undefined 18 Constant 0x1 Int32 19 Constant function complex2 (-e:7) at 104289c6c970 Object 20 GuardSpecificFunction ← Constant#16, Constant#19 Object 21 Call ← GuardSpecificFunction#20, Constant#17, Parameter#1 Value 22 Constant object 104289c3f040 (LexicalEnvironment) Object 23 Constant object 104289c3e030 (global) Object 24 Constant function complex3 (-e:11) at 104289c6c938 Object 25 Constant undefined Undefined 26 Constant 0x2 Int32 27 Constant function complex3 (-e:11) at 104289c6c938 Object 28 GuardSpecificFunction ← Constant#24, Constant#27 Object 29 Call ← GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13 Value 30 Constant shape at 104289c64f00 Shape 31 NewArrayObject ← Constant#30 Object 32 Constant 0x0 Int32 33 Elements ← NewArrayObject#31 Elements 34 PostWriteBarrier ← NewArrayObject#31, Call#13 35 StoreElement ← Elements#33, Constant#32, Call#13 36 SetInitializedLength ← Elements#33, Constant#32 37 Constant 0x1 Int32 38 Elements ← NewArrayObject#31 Elements 39 PostWriteBarrier ← NewArrayObject#31, Call#21 40 StoreElement ← Elements#38, Constant#37, Call#21 41 SetInitializedLength ← Elements#38, Constant#37 42 Constant 0x2 Int32 43 Elements ← NewArrayObject#31 Elements 44 PostWriteBarrier ← NewArrayObject#31, Call#29 45 StoreElement ← Elements#43, Constant#42, Call#29 46 SetInitializedLength ← Elements#43, Constant#42 47 Constant 0x3 Int32 48 Elements ← NewArrayObject#31 Elements 49 PostWriteBarrier ← NewArrayObject#31, Parameter#1 50 StoreElement ← Elements#48, Constant#47, Parameter#1 51 SetInitializedLength ← Elements#48, Constant#47 52 Constant object 104289c3f040 (LexicalEnvironment) Object 53 Constant object 104289c3e030 (global) Object 54 Constant function complex4 (-e:17) at 104289c6c890 Object 55 Constant undefined Undefined 56 Constant 0x1 Int32 57 Constant function complex4 (-e:17) at 104289c6c890 Object 58 GuardSpecificFunction ← Constant#54, Constant#57 Object 59 Call ← GuardSpecificFunction#58, Constant#55, NewArrayObject#31 Value 60 Constant shape at 104289c64fa0 Shape 61 NewPlainObject ← Constant#60 Object 62 GuardShape ← NewPlainObject#61 Object 63 PostWriteBarrier ← GuardShape#62, Call#13 64 StoreFixedSlot ← GuardShape#62, Call#13 (slot 0) 65 GuardShape ← NewPlainObject#61 Object 66 PostWriteBarrier ← GuardShape#65, Call#21 67 StoreFixedSlot ← GuardShape#65, Call#21 (slot 1) 68 GuardShape ← NewPlainObject#61 Object 69 PostWriteBarrier ← GuardShape#68, Call#29 70 StoreFixedSlot ← GuardShape#68, Call#29 (slot 2) 71 GuardShape ← NewPlainObject#61 Object 72 PostWriteBarrier ← GuardShape#71, Call#59 73 StoreFixedSlot ← GuardShape#71, Call#59 (slot 3) 74 Constant object 104289c3f040 (LexicalEnvironment) Object 75 Constant object 104289c3e030 (global) Object 76 Constant function complex5 (-e:21) at 104289c6c900 Object 77 Constant undefined Undefined 78 Constant 0x1 Int32 79 Constant function complex5 (-e:21) at 104289c6c900 Object 80 GuardSpecificFunction ← Constant#76, Constant#79 Object 81 Call ← GuardSpecificFunction#80, Constant#77, NewPlainObject#61 Value 82 Constant magic uninitialized-lexical MagicUninitializedLexical 83 Constant 0x0 Int32 96 Goto → block 1 Block 1 (loop header) 84 Phi ← Constant#2, Constant#2 Value 85 Phi ← Constant#2, Constant#2 Value 86 Phi ← Parameter#0, Parameter#0 Value 87 Phi ← Parameter#1, Parameter#1 Value 88 Phi ← Call#13, Call#112 Value 89 Phi ← Call#21, BitOr#137 Value 90 Phi ← Call#29, Call#147 Value 91 Phi ← NewArrayObject#31, NewArrayObject#31 Value 92 Phi ← Call#59, Call#489 Value 93 Phi ← NewPlainObject#61, NewPlainObject#61 Value 94 Phi ← Call#81, Call#693 Value 95 Phi ← Constant#83, Add#698 Value 97 InterruptCheck 98 Constant 0xa Int32 99 Unbox Phi#95 to Int32 (fallible) Int32 100 Compare ← Unbox#99, Constant#98 Lt Bool 101 Test ← Compare#100 → block 2, block 67 1 0 Block 2 102 Constant object 104289c3f040 (LexicalEnvironment) Object 103 Constant object 104289c3e030 (global) Object 104 Constant function complex1 (-e:2) at 104289c6c8c8 Object 105 Constant undefined Undefined 106 Unbox Phi#88 to Double (fallible) Double 107 Unbox Phi#95 to Double (fallible) Double 108 Add ← Unbox#106, Unbox#107 [double] Double 109 Constant 0x1 Int32 110 Constant function complex1 (-e:2) at 104289c6c8c8 Object 111 GuardSpecificFunction ← Constant#104, Constant#110 Object 112 Call ← GuardSpecificFunction#111, Constant#105, Add#108 Value 113 Constant object 104289c3f040 (LexicalEnvironment) Object 114 Constant object 104289c3e030 (global) Object 115 Constant function complex2 (-e:7) at 104289c6c970 Object 116 Constant undefined Undefined 117 Unbox Phi#89 to Int32 (fallible) Int32 118 Unbox Phi#95 to Int32 (fallible) Int32 119 Add ← Unbox#117, Unbox#118 [int32] Int32 120 Constant 0x1 Int32 121 Constant function complex2 (-e:7) at 104289c6c970 Object 122 GuardSpecificFunction ← Constant#115, Constant#121 Object 123 Goto → block 3 Block 3 124 Constant undefined Undefined 125 Constant 0x1 Int32 126 Lsh ← Add#119, Constant#125 Int32 127 Constant 0x1 Int32 128 Rsh ← Add#119, Constant#127 Int32 129 Constant 0xff Int32 130 BitAnd ← Add#119, Constant#129 Int32 131 Constant 0x2 Int32 132 Ursh ← Add#119, Constant#131 Int32 133 Add ← BitAnd#130, Ursh#132 [int32] Int32 134 BitNot ← Add#119 Int32 135 Sub ← Add#133, BitNot#134 [int32] Int32 136 BitXor ← Rsh#128, Sub#135 Int32 137 BitOr ← Lsh#126, BitXor#136 Int32 139 Goto → block 4 Block 4 140 Constant object 104289c3f040 (LexicalEnvironment) Object 141 Constant object 104289c3e030 (global) Object 142 Constant function complex3 (-e:11) at 104289c6c938 Object 143 Constant undefined Undefined 144 Constant 0x2 Int32 145 Constant function complex3 (-e:11) at 104289c6c938 Object 146 GuardSpecificFunction ← Constant#142, Constant#145 Object 147 Call ← GuardSpecificFunction#146, Constant#143, Phi#90, Call#112 Value 148 Constant object 104289c3f040 (LexicalEnvironment) Object 149 Constant object 104289c3e030 (global) Object 150 Constant function complex4 (-e:17) at 104289c6c890 Object 151 Constant undefined Undefined 152 Constant shape at 104289c64f00 Shape 153 NewArrayObject ← Constant#152 Object 154 Constant 0x0 Int32 155 Elements ← NewArrayObject#153 Elements 156 PostWriteBarrier ← NewArrayObject#153, Call#112 157 StoreElement ← Elements#155, Constant#154, Call#112 158 SetInitializedLength ← Elements#155, Constant#154 159 Constant 0x1 Int32 160 Elements ← NewArrayObject#153 Elements 161 PostWriteBarrier ← NewArrayObject#153, BitOr#137 162 StoreElement ← Elements#160, Constant#159, BitOr#137 163 SetInitializedLength ← Elements#160, Constant#159 164 Constant 0x2 Int32 165 Elements ← NewArrayObject#153 Elements 166 PostWriteBarrier ← NewArrayObject#153, Call#147 167 StoreElement ← Elements#165, Constant#164, Call#147 168 SetInitializedLength ← Elements#165, Constant#164 169 Constant 0x3 Int32 170 Elements ← NewArrayObject#153 Elements 171 PostWriteBarrier ← NewArrayObject#153, Phi#95 172 StoreElement ← Elements#170, Constant#169, Phi#95 173 SetInitializedLength ← Elements#170, Constant#169 174 Constant 0x1 Int32 175 Constant function complex4 (-e:17) at 104289c6c890 Object 176 GuardSpecificFunction ← Constant#150, Constant#175 Object 177 Goto → block 5 Block 5 178 Constant undefined Undefined 179 FunctionEnvironment ← GuardSpecificFunction#176 Object 180 GuardShape ← NewArrayObject#153 Object 181 Constant object 104289c3e088 (Array) Object 182 Constant function map (self-hosted:163) at 104289c47920 Object 183 Constant function complex4/< (-e:18) at 104289c63d28 Object 184 Lambda ← FunctionEnvironment#179, Constant#183 Object 185 Constant 0x1 Int32 186 Constant function map (self-hosted:163) at 104289c47920 Object 187 GuardSpecificFunction ← Constant#182, Constant#186 Object 188 Goto → block 6 Block 6 189 Constant undefined Undefined 190 Constant function ToObject at 104289c6c740 Object 191 DebugCheckSelfHosted ← Constant#190 Value 192 Constant undefined Undefined 193 Constant 0x1 Int32 194 Constant function ToLength at 104289c6c778 Object 195 DebugCheckSelfHosted ← Constant#194 Value 196 Constant undefined Undefined 197 GuardShape ← NewArrayObject#153 Object 198 Elements ← GuardShape#197 Elements 199 ArrayLength ← Elements#198 Int32 200 Constant 0x1 Int32 201 Constant 0x0 Int32 202 MinMax ← ArrayLength#199, Constant#201 (max) Int32 203 Constant 0x1 Int32 204 Constant 0x0 Int32 205 Compare ← Constant#203, Constant#204 StrictEq Bool 206 Test ← Compare#205 → block 7, block 8 1 0 Block 7 207 CallGetIntrinsicValue Value 208 DebugCheckSelfHosted ← CallGetIntrinsicValue#207 Value 209 Constant undefined Undefined 210 Constant 0x37 Int32 211 Constant 0x0 Int32 212 Constant string 104289c2e080 String 213 Bail 214 UnreachableResult Value 215 Goto → block 8 Block 8 216 Constant function IsCallable at 104289c6c7b0 Object 217 DebugCheckSelfHosted ← Constant#216 Value 218 Constant undefined Undefined 219 Constant 0x1 Int32 220 IsCallable ← Lambda#184 Bool 221 Test ← IsCallable#220 → block 10, block 9 1 0 Block 9 222 CallGetIntrinsicValue Value 223 DebugCheckSelfHosted ← CallGetIntrinsicValue#222 Value 224 Constant undefined Undefined 225 Constant 0xc Int32 226 CallGetIntrinsicValue Value 227 DebugCheckSelfHosted ← CallGetIntrinsicValue#226 Value 228 Constant undefined Undefined 229 Constant 0x0 Int32 230 Bail 231 UnreachableResult Value 232 Bail 233 UnreachableResult Value 234 Goto → block 10 Block 10 235 Constant 0x1 Int32 236 Constant 0x1 Int32 237 Compare ← Constant#235, Constant#236 Gt Bool 238 Test ← Compare#237 → block 11, block 12 1 0 Block 11 239 Constant 0x1 Int32 240 GetInlinedArgument ← Constant#239, Lambda#184 Value 241 Goto → block 13 Block 12 242 Constant undefined Undefined 243 Goto → block 13 Block 13 244 Phi ← Constant#242, GetInlinedArgument#240 Value 245 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 246 DebugCheckSelfHosted ← Constant#245 Value 247 Constant undefined Undefined 248 Constant 0x1 Int32 249 HasShape ← NewArrayObject#153 Bool 250 Test ← HasShape#249 → block 14, block 15 1 0 Block 14 251 Constant function std_Array at 104289c6c820 Object 252 DebugCheckSelfHosted ← Constant#251 Value 253 Constant undefined Undefined 254 Constant 0x1 Int32 255 Unbox DebugCheckSelfHosted#252 to Object (fallible) Object 256 Constant function std_Array at 104289c6c820 Object 257 GuardSpecificFunction ← Unbox#255, Constant#256 Object 258 NewArrayDynamicLength ← MinMax#202 Object 259 Goto → block 16 Block 15 260 CallGetIntrinsicValue Value 261 DebugCheckSelfHosted ← CallGetIntrinsicValue#260 Value 262 Constant undefined Undefined 263 Bail 264 UnreachableResult Value 265 Goto → block 16 Block 16 266 Phi ← UnreachableResult#264, NewArrayDynamicLength#258 Value 267 Constant 0x0 Int32 279 Goto → block 17 Block 17 (loop header) 268 Phi ← Constant#189, Constant#189 Value 269 Phi ← Constant#189, Constant#189 Value 270 Phi ← NewArrayObject#153, NewArrayObject#153 Value 271 Phi ← Lambda#184, Lambda#184 Value 272 Phi ← NewArrayObject#153, NewArrayObject#153 Value 273 Phi ← MinMax#202, MinMax#202 Value 274 Phi ← Phi#244, Phi#244 Value 275 Phi ← Phi#266, Phi#266 Value 276 Phi ← Constant#267, Add#324 Value 277 Phi ← Constant#189, Phi#321 Value 278 Phi ← NewArrayObject#153, NewArrayObject#153 Value 280 InterruptCheck 281 Unbox Phi#276 to Int32 (fallible) Int32 282 Unbox Phi#273 to Int32 (fallible) Int32 283 Compare ← Unbox#281, Unbox#282 Lt Bool 284 Test ← Compare#283 → block 18, block 23 1 0 Block 18 285 Unbox Phi#272 to Object (fallible) Object 286 Unbox Phi#276 to Int32 (fallible) Int32 287 GuardShape ← Unbox#285 Object 288 Elements ← GuardShape#287 Elements 289 InitializedLength ← Elements#288 Int32 290 BoundsCheck ← Unbox#286, InitializedLength#289 Int32 291 SpectreMaskIndex ← BoundsCheck#290, InitializedLength#289 Int32 292 GuardElementNotHole ← Elements#288, SpectreMaskIndex#291 293 Constant true Bool 294 Test ← Constant#293 → block 19, block 22 1 0 Block 19 295 Unbox Phi#272 to Object (fallible) Object 296 Unbox Phi#276 to Int32 (fallible) Int32 297 GuardShape ← Unbox#295 Object 298 Elements ← GuardShape#297 Elements 299 InitializedLength ← Elements#298 Int32 300 BoundsCheck ← Unbox#296, InitializedLength#299 Int32 301 SpectreMaskIndex ← BoundsCheck#300, InitializedLength#299 Int32 302 GuardElementsArePacked ← Elements#298 303 LoadElement ← Elements#298, SpectreMaskIndex#301 Value 304 Constant 0x3 Int32 305 Unbox Phi#271 to Object (fallible) Object 306 GuardToFunction ← Unbox#305 Object 307 GuardFunctionScript ← GuardToFunction#306 Object 308 Goto → block 20 Block 20 309 Constant undefined Undefined 310 Constant 0x2 Int32 311 Unbox LoadElement#303 to Double (fallible) Double 312 Mul ← Unbox#311, Constant#310 [double] Double 314 Goto → block 21 Block 21 315 Unbox Phi#275 to Object (fallible) Object 316 Unbox Phi#276 to Int32 (fallible) Int32 317 GuardShape ← Unbox#315 Object 318 Elements ← GuardShape#317 Elements 319 StoreElementHole ← GuardShape#317, Elements#318, Unbox#316, Mul#312 320 Goto → block 22 Block 22 (backedge) 321 Phi ← Mul#312, Phi#277 Value 322 Unbox Phi#276 to Int32 (fallible) Int32 323 Constant 0x1 Int32 324 Add ← Unbox#322, Constant#323 [int32] Int32 325 Goto → block 17 Block 23 327 Goto → block 24 Block 24 328 Unbox Phi#275 to Object (fallible) Object 329 GuardShape ← Unbox#328 Object 330 Constant object 104289c3e088 (Array) Object 331 Constant function filter (self-hosted:183) at 104289c47970 Object 332 Constant function complex4/< (-e:18) at 104289c63d60 Object 333 Lambda ← FunctionEnvironment#179, Constant#332 Object 334 Constant 0x1 Int32 335 Constant function filter (self-hosted:183) at 104289c47970 Object 336 GuardSpecificFunction ← Constant#331, Constant#335 Object 337 Goto → block 25 Block 25 338 Constant undefined Undefined 339 Constant function ToObject at 104289c6c740 Object 340 DebugCheckSelfHosted ← Constant#339 Value 341 Constant undefined Undefined 342 Constant 0x1 Int32 343 Unbox Phi#275 to Object (fallible) Object 344 Constant function ToLength at 104289c6c778 Object 345 DebugCheckSelfHosted ← Constant#344 Value 346 Constant undefined Undefined 347 GuardShape ← Unbox#343 Object 348 Elements ← GuardShape#347 Elements 349 ArrayLength ← Elements#348 Int32 350 Constant 0x1 Int32 351 Constant 0x0 Int32 352 MinMax ← ArrayLength#349, Constant#351 (max) Int32 353 Constant 0x1 Int32 354 Constant 0x0 Int32 355 Compare ← Constant#353, Constant#354 StrictEq Bool 356 Test ← Compare#355 → block 26, block 27 1 0 Block 26 357 CallGetIntrinsicValue Value 358 DebugCheckSelfHosted ← CallGetIntrinsicValue#357 Value 359 Constant undefined Undefined 360 Constant 0x37 Int32 361 Constant 0x0 Int32 362 Constant string 104289c28540 String 363 Bail 364 UnreachableResult Value 365 Goto → block 27 Block 27 366 Constant function IsCallable at 104289c6c7b0 Object 367 DebugCheckSelfHosted ← Constant#366 Value 368 Constant undefined Undefined 369 Constant 0x1 Int32 370 IsCallable ← Lambda#333 Bool 371 Test ← IsCallable#370 → block 29, block 28 1 0 Block 28 372 CallGetIntrinsicValue Value 373 DebugCheckSelfHosted ← CallGetIntrinsicValue#372 Value 374 Constant undefined Undefined 375 Constant 0xc Int32 376 CallGetIntrinsicValue Value 377 DebugCheckSelfHosted ← CallGetIntrinsicValue#376 Value 378 Constant undefined Undefined 379 Constant 0x0 Int32 380 Bail 381 UnreachableResult Value 382 Bail 383 UnreachableResult Value 384 Goto → block 29 Block 29 385 Constant 0x1 Int32 386 Constant 0x1 Int32 387 Compare ← Constant#385, Constant#386 Gt Bool 388 Test ← Compare#387 → block 30, block 31 1 0 Block 30 389 Constant 0x1 Int32 390 GetInlinedArgument ← Constant#389, Lambda#333 Value 391 Goto → block 32 Block 31 392 Constant undefined Undefined 393 Goto → block 32 Block 32 394 Phi ← Constant#392, GetInlinedArgument#390 Value 395 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 396 DebugCheckSelfHosted ← Constant#395 Value 397 Constant undefined Undefined 398 Constant 0x1 Int32 399 HasShape ← Unbox#343 Bool 400 Test ← HasShape#399 → block 33, block 34 1 0 Block 33 401 Constant shape at 104289c64f00 Shape 402 NewArrayObject ← Constant#401 Object 403 Goto → block 35 Block 34 404 CallGetIntrinsicValue Value 405 DebugCheckSelfHosted ← CallGetIntrinsicValue#404 Value 406 Constant undefined Undefined 407 Constant 0x0 Int32 408 Bail 409 UnreachableResult Value 410 Goto → block 35 Block 35 411 Phi ← UnreachableResult#409, NewArrayObject#402 Value 412 Constant 0x0 Int32 413 Constant 0x0 Int32 426 Goto → block 36 Block 36 (loop header) 414 Phi ← Constant#338, Constant#338 Value 415 Phi ← Constant#338, Constant#338 Value 416 Phi ← Phi#275, Phi#275 Value 417 Phi ← Lambda#333, Lambda#333 Value 418 Phi ← Unbox#343, Unbox#343 Value 419 Phi ← MinMax#352, MinMax#352 Value 420 Phi ← Phi#394, Phi#394 Value 421 Phi ← Phi#411, Phi#411 Value 422 Phi ← Constant#412, Add#475 Value 423 Phi ← Constant#413, Phi#471 Value 424 Phi ← Constant#338, Phi#472 Value 425 Phi ← Phi#275, Phi#275 Value 427 InterruptCheck 428 Unbox Phi#422 to Int32 (fallible) Int32 429 Unbox Phi#419 to Int32 (fallible) Int32 430 Compare ← Unbox#428, Unbox#429 Lt Bool 431 Test ← Compare#430 → block 37, block 43 1 0 Block 37 432 Unbox Phi#418 to Object (fallible) Object 433 Unbox Phi#422 to Int32 (fallible) Int32 434 GuardShape ← Unbox#432 Object 435 Elements ← GuardShape#434 Elements 436 InitializedLength ← Elements#435 Int32 437 BoundsCheck ← Unbox#433, InitializedLength#436 Int32 438 SpectreMaskIndex ← BoundsCheck#437, InitializedLength#436 Int32 439 GuardElementNotHole ← Elements#435, SpectreMaskIndex#438 440 Constant true Bool 441 Test ← Constant#440 → block 38, block 42 1 0 Block 38 442 Unbox Phi#418 to Object (fallible) Object 443 Unbox Phi#422 to Int32 (fallible) Int32 444 GuardShape ← Unbox#442 Object 445 Elements ← GuardShape#444 Elements 446 InitializedLength ← Elements#445 Int32 447 BoundsCheck ← Unbox#443, InitializedLength#446 Int32 448 SpectreMaskIndex ← BoundsCheck#447, InitializedLength#446 Int32 449 GuardElementsArePacked ← Elements#445 450 LoadElement ← Elements#445, SpectreMaskIndex#448 Value 451 Constant 0x3 Int32 452 Unbox Phi#417 to Object (fallible) Object 453 GuardToFunction ← Unbox#452 Object 454 GuardFunctionScript ← GuardToFunction#453 Object 455 Goto → block 39 Block 39 456 Constant undefined Undefined 457 Constant 0x32 Int32 458 Unbox LoadElement#450 to Double (fallible) Double 459 Compare ← Unbox#458, Constant#457 Gt Bool 461 Goto → block 40 Block 40 462 Test ← Compare#459 → block 41, block 42 1 0 Block 41 463 Unbox Phi#423 to Int32 (fallible) Int32 464 Constant 0x1 Int32 465 Add ← Unbox#463, Constant#464 [int32] Int32 466 Unbox Phi#421 to Object (fallible) Object 467 GuardShape ← Unbox#466 Object 468 Elements ← GuardShape#467 Elements 469 StoreElementHole ← GuardShape#467, Elements#468, Unbox#463, LoadElement#450 470 Goto → block 42 Block 42 (backedge) 471 Phi ← Add#465, Phi#423, Phi#423 Value 472 Phi ← LoadElement#450, Phi#424, LoadElement#450 Value 473 Unbox Phi#422 to Int32 (fallible) Int32 474 Constant 0x1 Int32 475 Add ← Unbox#473, Constant#474 [int32] Int32 476 Goto → block 36 Block 43 478 Goto → block 44 Block 44 479 Unbox Phi#421 to Object (fallible) Object 480 GuardShape ← Unbox#479 Object 481 Constant object 104289c3e088 (Array) Object 482 Constant function reduce (self-hosted:205) at 104289c479c0 Object 483 Constant function complex4/< (-e:18) at 104289c63d98 Object 484 Lambda ← FunctionEnvironment#179, Constant#483 Object 485 Constant 0x0 Int32 486 Constant 0x2 Int32 487 Constant function reduce (self-hosted:205) at 104289c479c0 Object 488 GuardSpecificFunction ← Constant#482, Constant#487 Object 489 Call ← GuardSpecificFunction#488, Phi#421, Lambda#484, Constant#485 Value 491 Goto → block 45 Block 45 492 Constant object 104289c3f040 (LexicalEnvironment) Object 493 Constant object 104289c3e030 (global) Object 494 Constant function complex5 (-e:21) at 104289c6c900 Object 495 Constant undefined Undefined 496 Constant shape at 104289c64fc0 Shape 497 NewPlainObject ← Constant#496 Object 498 GuardShape ← NewPlainObject#497 Object 499 PostWriteBarrier ← GuardShape#498, Call#112 500 StoreFixedSlot ← GuardShape#498, Call#112 (slot 0) 501 GuardShape ← NewPlainObject#497 Object 502 PostWriteBarrier ← GuardShape#501, BitOr#137 503 StoreFixedSlot ← GuardShape#501, BitOr#137 (slot 1) 504 GuardShape ← NewPlainObject#497 Object 505 PostWriteBarrier ← GuardShape#504, Call#147 506 StoreFixedSlot ← GuardShape#504, Call#147 (slot 2) 507 Constant 0x1 Int32 508 Constant function complex5 (-e:21) at 104289c6c900 Object 509 GuardSpecificFunction ← Constant#494, Constant#508 Object 510 Goto → block 46 Block 46 511 Constant undefined Undefined 512 FunctionEnvironment ← GuardSpecificFunction#509 Object 513 Constant object 104289c3f078 (Call) Object 514 NewCallObject ← Constant#513 Object 515 AssertCanElidePostWriteBarrier ← NewCallObject#514, FunctionEnvironment#512 516 AssertCanElidePostWriteBarrier ← NewCallObject#514, GuardSpecificFunction#509 517 StoreFixedSlot ← NewCallObject#514, FunctionEnvironment#512 (slot 0) 518 StoreFixedSlot ← NewCallObject#514, GuardSpecificFunction#509 (slot 1) 519 PostWriteBarrier ← NewCallObject#514, NewPlainObject#497 520 StoreFixedSlot ← NewCallObject#514, NewPlainObject#497 (slot 2) 521 Constant object 104289c3f040 (LexicalEnvironment) Object 522 Constant object 104289c3e030 (global) Object 523 Constant function Object at 104289c422e0 Object 524 Constant function Object at 104289c422e0 Object 525 GuardObjectIdentity ← Constant#523, Constant#524 Object 526 Constant function keys at 104289c42468 Object 527 LoadFixedSlot ← NewCallObject#514 (slot 2) Value 528 Constant 0x1 Int32 529 Constant function keys at 104289c42468 Object 530 GuardSpecificFunction ← Constant#526, Constant#529 Object 531 Unbox LoadFixedSlot#527 to Object (fallible) Object 532 GuardIsNotProxy ← Unbox#531 Object 533 ObjectKeys ← GuardIsNotProxy#532 Object 534 GuardShape ← ObjectKeys#533 Object 535 Constant object 104289c3e088 (Array) Object 536 Constant function map (self-hosted:163) at 104289c47920 Object 537 Constant function complex5/< (-e:22) at 104289c63e08 Object 538 Lambda ← NewCallObject#514, Constant#537 Object 539 Constant 0x1 Int32 540 Constant function map (self-hosted:163) at 104289c47920 Object 541 GuardSpecificFunction ← Constant#536, Constant#540 Object 542 Goto → block 47 Block 47 543 Constant undefined Undefined 544 Constant function ToObject at 104289c6c740 Object 545 DebugCheckSelfHosted ← Constant#544 Value 546 Constant undefined Undefined 547 Constant 0x1 Int32 548 Constant function ToLength at 104289c6c778 Object 549 DebugCheckSelfHosted ← Constant#548 Value 550 Constant undefined Undefined 551 GuardShape ← ObjectKeys#533 Object 552 Elements ← GuardShape#551 Elements 553 ArrayLength ← Elements#552 Int32 554 Constant 0x1 Int32 555 Constant 0x0 Int32 556 MinMax ← ArrayLength#553, Constant#555 (max) Int32 557 Constant 0x1 Int32 558 Constant 0x0 Int32 559 Compare ← Constant#557, Constant#558 StrictEq Bool 560 Test ← Compare#559 → block 48, block 49 1 0 Block 48 561 CallGetIntrinsicValue Value 562 DebugCheckSelfHosted ← CallGetIntrinsicValue#561 Value 563 Constant undefined Undefined 564 Constant 0x37 Int32 565 Constant 0x0 Int32 566 Constant string 104289c2e080 String 567 Bail 568 UnreachableResult Value 569 Goto → block 49 Block 49 570 Constant function IsCallable at 104289c6c7b0 Object 571 DebugCheckSelfHosted ← Constant#570 Value 572 Constant undefined Undefined 573 Constant 0x1 Int32 574 IsCallable ← Lambda#538 Bool 575 Test ← IsCallable#574 → block 51, block 50 1 0 Block 50 576 CallGetIntrinsicValue Value 577 DebugCheckSelfHosted ← CallGetIntrinsicValue#576 Value 578 Constant undefined Undefined 579 Constant 0xc Int32 580 CallGetIntrinsicValue Value 581 DebugCheckSelfHosted ← CallGetIntrinsicValue#580 Value 582 Constant undefined Undefined 583 Constant 0x0 Int32 584 Bail 585 UnreachableResult Value 586 Bail 587 UnreachableResult Value 588 Goto → block 51 Block 51 589 Constant 0x1 Int32 590 Constant 0x1 Int32 591 Compare ← Constant#589, Constant#590 Gt Bool 592 Test ← Compare#591 → block 52, block 53 1 0 Block 52 593 Constant 0x1 Int32 594 GetInlinedArgument ← Constant#593, Lambda#538 Value 595 Goto → block 54 Block 53 596 Constant undefined Undefined 597 Goto → block 54 Block 54 598 Phi ← Constant#596, GetInlinedArgument#594 Value 599 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 600 DebugCheckSelfHosted ← Constant#599 Value 601 Constant undefined Undefined 602 Constant 0x1 Int32 603 HasShape ← ObjectKeys#533 Bool 604 Test ← HasShape#603 → block 55, block 56 1 0 Block 55 605 Constant function std_Array at 104289c6c820 Object 606 DebugCheckSelfHosted ← Constant#605 Value 607 Constant undefined Undefined 608 Constant 0x1 Int32 609 Unbox DebugCheckSelfHosted#606 to Object (fallible) Object 610 Constant function std_Array at 104289c6c820 Object 611 GuardSpecificFunction ← Unbox#609, Constant#610 Object 612 NewArrayDynamicLength ← MinMax#556 Object 613 Goto → block 57 Block 56 614 CallGetIntrinsicValue Value 615 DebugCheckSelfHosted ← CallGetIntrinsicValue#614 Value 616 Constant undefined Undefined 617 Bail 618 UnreachableResult Value 619 Goto → block 57 Block 57 620 Phi ← UnreachableResult#618, NewArrayDynamicLength#612 Value 621 Constant 0x0 Int32 633 Goto → block 58 Block 58 (loop header) 622 Phi ← Constant#543, Constant#543 Value 623 Phi ← Constant#543, Constant#543 Value 624 Phi ← ObjectKeys#533, ObjectKeys#533 Value 625 Phi ← Lambda#538, Lambda#538 Value 626 Phi ← ObjectKeys#533, ObjectKeys#533 Value 627 Phi ← MinMax#556, MinMax#556 Value 628 Phi ← Phi#598, Phi#598 Value 629 Phi ← Phi#620, Phi#620 Value 630 Phi ← Constant#621, Add#679 Value 631 Phi ← Constant#543, Phi#676 Value 632 Phi ← ObjectKeys#533, ObjectKeys#533 Value 634 InterruptCheck 635 Unbox Phi#630 to Int32 (fallible) Int32 636 Unbox Phi#627 to Int32 (fallible) Int32 637 Compare ← Unbox#635, Unbox#636 Lt Bool 638 Test ← Compare#637 → block 59, block 64 1 0 Block 59 639 Unbox Phi#626 to Object (fallible) Object 640 Unbox Phi#630 to Int32 (fallible) Int32 641 GuardShape ← Unbox#639 Object 642 Elements ← GuardShape#641 Elements 643 InitializedLength ← Elements#642 Int32 644 BoundsCheck ← Unbox#640, InitializedLength#643 Int32 645 SpectreMaskIndex ← BoundsCheck#644, InitializedLength#643 Int32 646 GuardElementNotHole ← Elements#642, SpectreMaskIndex#645 647 Constant true Bool 648 Test ← Constant#647 → block 60, block 63 1 0 Block 60 649 Unbox Phi#626 to Object (fallible) Object 650 Unbox Phi#630 to Int32 (fallible) Int32 651 GuardShape ← Unbox#649 Object 652 Elements ← GuardShape#651 Elements 653 InitializedLength ← Elements#652 Int32 654 BoundsCheck ← Unbox#650, InitializedLength#653 Int32 655 SpectreMaskIndex ← BoundsCheck#654, InitializedLength#653 Int32 656 GuardElementsArePacked ← Elements#652 657 LoadElement ← Elements#652, SpectreMaskIndex#655 Value 658 Constant 0x3 Int32 659 Unbox Phi#625 to Object (fallible) Object 660 GuardToFunction ← Unbox#659 Object 661 GuardFunctionScript ← GuardToFunction#660 Object 662 Goto → block 61 Block 61 663 Constant undefined Undefined 664 FunctionEnvironment ← GuardFunctionScript#661 Object 665 LoadFixedSlot ← FunctionEnvironment#664 (slot 2) Value 666 Unbox LoadFixedSlot#665 to Object (fallible) Object 667 MegamorphicLoadSlotByValue ← Unbox#666, LoadElement#657 Value 669 Goto → block 62 Block 62 670 Unbox Phi#629 to Object (fallible) Object 671 Unbox Phi#630 to Int32 (fallible) Int32 672 GuardShape ← Unbox#670 Object 673 Elements ← GuardShape#672 Elements 674 StoreElementHole ← GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667 675 Goto → block 63 Block 63 (backedge) 676 Phi ← MegamorphicLoadSlotByValue#667, Phi#631 Value 677 Unbox Phi#630 to Int32 (fallible) Int32 678 Constant 0x1 Int32 679 Add ← Unbox#677, Constant#678 [int32] Int32 680 Goto → block 58 Block 64 682 Goto → block 65 Block 65 683 Unbox Phi#629 to Object (fallible) Object 684 GuardShape ← Unbox#683 Object 685 Constant object 104289c3e088 (Array) Object 686 Constant function reduce (self-hosted:205) at 104289c479c0 Object 687 Constant function complex5/< (-e:22) at 104289c63e40 Object 688 Lambda ← NewCallObject#514, Constant#687 Object 689 Constant 0x0 Int32 690 Constant 0x2 Int32 691 Constant function reduce (self-hosted:205) at 104289c479c0 Object 692 GuardSpecificFunction ← Constant#686, Constant#691 Object 693 Call ← GuardSpecificFunction#692, Phi#629, Lambda#688, Constant#689 Value 695 Goto → block 66 Block 66 (backedge) 696 Unbox Phi#95 to Int32 (fallible) Int32 697 Constant 0x1 Int32 698 Add ← Unbox#696, Constant#697 [int32] Int32 699 Goto → block 1 Block 67 700 Unbox Phi#88 to Double (fallible) Double 701 Unbox Phi#89 to Double (fallible) Double 702 Add ← Unbox#700, Unbox#701 [double] Double 703 Unbox Phi#90 to Double (fallible) Double 704 Add ← Add#702, Unbox#703 [double] Double 705 Unbox Phi#92 to Double (fallible) Double 706 Add ← Add#704, Unbox#705 [double] Double 707 Unbox Phi#94 to Double (fallible) Double 708 Add ← Add#706, Unbox#707 [double] Double 709 Return ← Add#708
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant magic uninitialized-lexical MagicUninitializedLexical 6 Constant object 104289c3f040 (LexicalEnvironment) Object 7 Constant object 104289c3e030 (global) Object 8 Constant function complex1 (-e:2) at 104289c6c8c8 Object 9 Constant undefined Undefined 10 Constant 0x1 Int32 11 Constant function complex1 (-e:2) at 104289c6c8c8 Object 12 GuardSpecificFunction ← Constant#8, Constant#11 Object 13 Call ← GuardSpecificFunction#12, Constant#9, Parameter#1 Value 14 Constant object 104289c3f040 (LexicalEnvironment) Object 15 Constant object 104289c3e030 (global) Object 16 Constant function complex2 (-e:7) at 104289c6c970 Object 17 Constant undefined Undefined 18 Constant 0x1 Int32 19 Constant function complex2 (-e:7) at 104289c6c970 Object 20 GuardSpecificFunction ← Constant#16, Constant#19 Object 21 Call ← GuardSpecificFunction#20, Constant#17, Parameter#1 Value 22 Constant object 104289c3f040 (LexicalEnvironment) Object 23 Constant object 104289c3e030 (global) Object 24 Constant function complex3 (-e:11) at 104289c6c938 Object 25 Constant undefined Undefined 26 Constant 0x2 Int32 27 Constant function complex3 (-e:11) at 104289c6c938 Object 28 GuardSpecificFunction ← Constant#24, Constant#27 Object 29 Call ← GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13 Value 30 Constant shape at 104289c64f00 Shape 31 NewArrayObject ← Constant#30 Object 32 Constant 0x0 Int32 33 Elements ← NewArrayObject#31 Elements 34 PostWriteBarrier ← NewArrayObject#31, Call#13 35 StoreElement ← Elements#33, Constant#32, Call#13 36 SetInitializedLength ← Elements#33, Constant#32 37 Constant 0x1 Int32 38 Elements ← NewArrayObject#31 Elements 39 PostWriteBarrier ← NewArrayObject#31, Call#21 40 StoreElement ← Elements#38, Constant#37, Call#21 41 SetInitializedLength ← Elements#38, Constant#37 42 Constant 0x2 Int32 43 Elements ← NewArrayObject#31 Elements 44 PostWriteBarrier ← NewArrayObject#31, Call#29 45 StoreElement ← Elements#43, Constant#42, Call#29 46 SetInitializedLength ← Elements#43, Constant#42 47 Constant 0x3 Int32 48 Elements ← NewArrayObject#31 Elements 49 PostWriteBarrier ← NewArrayObject#31, Parameter#1 50 StoreElement ← Elements#48, Constant#47, Parameter#1 51 SetInitializedLength ← Elements#48, Constant#47 52 Constant object 104289c3f040 (LexicalEnvironment) Object 53 Constant object 104289c3e030 (global) Object 54 Constant function complex4 (-e:17) at 104289c6c890 Object 55 Constant undefined Undefined 56 Constant 0x1 Int32 57 Constant function complex4 (-e:17) at 104289c6c890 Object 58 GuardSpecificFunction ← Constant#54, Constant#57 Object 59 Call ← GuardSpecificFunction#58, Constant#55, NewArrayObject#31 Value 60 Constant shape at 104289c64fa0 Shape 61 NewPlainObject ← Constant#60 Object 62 GuardShape ← NewPlainObject#61 Object 63 PostWriteBarrier ← GuardShape#62, Call#13 64 StoreFixedSlot ← GuardShape#62, Call#13 (slot 0) 65 GuardShape ← NewPlainObject#61 Object 66 PostWriteBarrier ← GuardShape#65, Call#21 67 StoreFixedSlot ← GuardShape#65, Call#21 (slot 1) 68 GuardShape ← NewPlainObject#61 Object 69 PostWriteBarrier ← GuardShape#68, Call#29 70 StoreFixedSlot ← GuardShape#68, Call#29 (slot 2) 71 GuardShape ← NewPlainObject#61 Object 72 PostWriteBarrier ← GuardShape#71, Call#59 73 StoreFixedSlot ← GuardShape#71, Call#59 (slot 3) 74 Constant object 104289c3f040 (LexicalEnvironment) Object 75 Constant object 104289c3e030 (global) Object 76 Constant function complex5 (-e:21) at 104289c6c900 Object 77 Constant undefined Undefined 78 Constant 0x1 Int32 79 Constant function complex5 (-e:21) at 104289c6c900 Object 80 GuardSpecificFunction ← Constant#76, Constant#79 Object 81 Call ← GuardSpecificFunction#80, Constant#77, NewPlainObject#61 Value 82 Constant magic uninitialized-lexical MagicUninitializedLexical 83 Constant 0x0 Int32 96 Goto → block 1 Block 1 (loop header) 84 Phi ← Constant#2, Constant#2 Value 85 Phi ← Constant#2, Constant#2 Value 86 Phi ← Parameter#0, Parameter#0 Value 87 Phi ← Parameter#1, Parameter#1 Value 88 Phi ← Call#13, Call#112 Value 89 Phi ← Call#21, BitOr#137 Value 90 Phi ← Call#29, Call#147 Value 91 Phi ← NewArrayObject#31, NewArrayObject#31 Value 92 Phi ← Call#59, Call#489 Value 93 Phi ← NewPlainObject#61, NewPlainObject#61 Value 94 Phi ← Call#81, Call#693 Value 95 Phi ← Constant#83, Add#698 Value 97 InterruptCheck 98 Constant 0xa Int32 99 Unbox Phi#95 to Int32 (fallible) Int32 100 Compare ← Unbox#99, Constant#98 Lt Bool 101 Test ← Compare#100 → block 2, block 67 1 0 Block 2 102 Constant object 104289c3f040 (LexicalEnvironment) Object 103 Constant object 104289c3e030 (global) Object 104 Constant function complex1 (-e:2) at 104289c6c8c8 Object 105 Constant undefined Undefined 106 Unbox Phi#88 to Double (fallible) Double 107 Unbox Phi#95 to Double (fallible) Double 108 Add ← Unbox#106, Unbox#107 [double] Double 109 Constant 0x1 Int32 110 Constant function complex1 (-e:2) at 104289c6c8c8 Object 111 GuardSpecificFunction ← Constant#104, Constant#110 Object 112 Call ← GuardSpecificFunction#111, Constant#105, Add#108 Value 113 Constant object 104289c3f040 (LexicalEnvironment) Object 114 Constant object 104289c3e030 (global) Object 115 Constant function complex2 (-e:7) at 104289c6c970 Object 116 Constant undefined Undefined 117 Unbox Phi#89 to Int32 (fallible) Int32 118 Unbox Phi#95 to Int32 (fallible) Int32 119 Add ← Unbox#117, Unbox#118 [int32] Int32 120 Constant 0x1 Int32 121 Constant function complex2 (-e:7) at 104289c6c970 Object 122 GuardSpecificFunction ← Constant#115, Constant#121 Object 123 Goto → block 3 Block 3 124 Constant undefined Undefined 125 Constant 0x1 Int32 126 Lsh ← Add#119, Constant#125 Int32 127 Constant 0x1 Int32 128 Rsh ← Add#119, Constant#127 Int32 129 Constant 0xff Int32 130 BitAnd ← Add#119, Constant#129 Int32 131 Constant 0x2 Int32 132 Ursh ← Add#119, Constant#131 Int32 133 Add ← BitAnd#130, Ursh#132 [int32] Int32 134 BitNot ← Add#119 Int32 135 Sub ← Add#133, BitNot#134 [int32] Int32 136 BitXor ← Rsh#128, Sub#135 Int32 137 BitOr ← Lsh#126, BitXor#136 Int32 139 Goto → block 4 Block 4 140 Constant object 104289c3f040 (LexicalEnvironment) Object 141 Constant object 104289c3e030 (global) Object 142 Constant function complex3 (-e:11) at 104289c6c938 Object 143 Constant undefined Undefined 144 Constant 0x2 Int32 145 Constant function complex3 (-e:11) at 104289c6c938 Object 146 GuardSpecificFunction ← Constant#142, Constant#145 Object 147 Call ← GuardSpecificFunction#146, Constant#143, Phi#90, Call#112 Value 148 Constant object 104289c3f040 (LexicalEnvironment) Object 149 Constant object 104289c3e030 (global) Object 150 Constant function complex4 (-e:17) at 104289c6c890 Object 151 Constant undefined Undefined 152 Constant shape at 104289c64f00 Shape 153 NewArrayObject ← Constant#152 Object 154 Constant 0x0 Int32 155 Elements ← NewArrayObject#153 Elements 156 PostWriteBarrier ← NewArrayObject#153, Call#112 157 StoreElement ← Elements#155, Constant#154, Call#112 158 SetInitializedLength ← Elements#155, Constant#154 159 Constant 0x1 Int32 160 Elements ← NewArrayObject#153 Elements 161 PostWriteBarrier ← NewArrayObject#153, BitOr#137 162 StoreElement ← Elements#160, Constant#159, BitOr#137 163 SetInitializedLength ← Elements#160, Constant#159 164 Constant 0x2 Int32 165 Elements ← NewArrayObject#153 Elements 166 PostWriteBarrier ← NewArrayObject#153, Call#147 167 StoreElement ← Elements#165, Constant#164, Call#147 168 SetInitializedLength ← Elements#165, Constant#164 169 Constant 0x3 Int32 170 Elements ← NewArrayObject#153 Elements 171 PostWriteBarrier ← NewArrayObject#153, Phi#95 172 StoreElement ← Elements#170, Constant#169, Phi#95 173 SetInitializedLength ← Elements#170, Constant#169 174 Constant 0x1 Int32 175 Constant function complex4 (-e:17) at 104289c6c890 Object 176 GuardSpecificFunction ← Constant#150, Constant#175 Object 177 Goto → block 5 Block 5 178 Constant undefined Undefined 179 FunctionEnvironment ← GuardSpecificFunction#176 Object 180 GuardShape ← NewArrayObject#153 Object 181 Constant object 104289c3e088 (Array) Object 182 Constant function map (self-hosted:163) at 104289c47920 Object 183 Constant function complex4/< (-e:18) at 104289c63d28 Object 184 Lambda ← FunctionEnvironment#179, Constant#183 Object 185 Constant 0x1 Int32 186 Constant function map (self-hosted:163) at 104289c47920 Object 187 GuardSpecificFunction ← Constant#182, Constant#186 Object 188 Goto → block 6 Block 6 189 Constant undefined Undefined 190 Constant function ToObject at 104289c6c740 Object 191 DebugCheckSelfHosted ← Constant#190 Value 192 Constant undefined Undefined 193 Constant 0x1 Int32 194 Constant function ToLength at 104289c6c778 Object 195 DebugCheckSelfHosted ← Constant#194 Value 196 Constant undefined Undefined 197 GuardShape ← NewArrayObject#153 Object 198 Elements ← GuardShape#197 Elements 199 ArrayLength ← Elements#198 Int32 200 Constant 0x1 Int32 201 Constant 0x0 Int32 202 MinMax ← ArrayLength#199, Constant#201 (max) Int32 203 Constant 0x1 Int32 204 Constant 0x0 Int32 205 Compare ← Constant#203, Constant#204 StrictEq Bool 206 Test ← Compare#205 → block 7, block 8 1 0 Block 7 207 CallGetIntrinsicValue Value 208 DebugCheckSelfHosted ← CallGetIntrinsicValue#207 Value 209 Constant undefined Undefined 210 Constant 0x37 Int32 211 Constant 0x0 Int32 212 Constant string 104289c2e080 String 213 Bail 718 Unreachable Block 8 216 Constant function IsCallable at 104289c6c7b0 Object 217 DebugCheckSelfHosted ← Constant#216 Value 218 Constant undefined Undefined 219 Constant 0x1 Int32 220 IsCallable ← Lambda#184 Bool 221 Test ← IsCallable#220 → block 10, block 9 1 0 Block 9 222 CallGetIntrinsicValue Value 223 DebugCheckSelfHosted ← CallGetIntrinsicValue#222 Value 224 Constant undefined Undefined 225 Constant 0xc Int32 226 CallGetIntrinsicValue Value 227 DebugCheckSelfHosted ← CallGetIntrinsicValue#226 Value 228 Constant undefined Undefined 229 Constant 0x0 Int32 230 Bail 717 Unreachable Block 10 235 Constant 0x1 Int32 236 Constant 0x1 Int32 237 Compare ← Constant#235, Constant#236 Gt Bool 238 Test ← Compare#237 → block 11, block 12 1 0 Block 11 239 Constant 0x1 Int32 240 GetInlinedArgument ← Constant#239, Lambda#184 Value 241 Goto → block 13 Block 12 242 Constant undefined Undefined 243 Goto → block 13 Block 13 244 Phi ← Constant#242, GetInlinedArgument#240 Value 245 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 246 DebugCheckSelfHosted ← Constant#245 Value 247 Constant undefined Undefined 248 Constant 0x1 Int32 249 HasShape ← NewArrayObject#153 Bool 250 Test ← HasShape#249 → block 14, block 15 1 0 Block 14 251 Constant function std_Array at 104289c6c820 Object 252 DebugCheckSelfHosted ← Constant#251 Value 253 Constant undefined Undefined 254 Constant 0x1 Int32 255 Unbox DebugCheckSelfHosted#252 to Object (fallible) Object 256 Constant function std_Array at 104289c6c820 Object 257 GuardSpecificFunction ← Unbox#255, Constant#256 Object 258 NewArrayDynamicLength ← MinMax#202 Object 259 Goto → block 16 Block 15 260 CallGetIntrinsicValue Value 261 DebugCheckSelfHosted ← CallGetIntrinsicValue#260 Value 262 Constant undefined Undefined 263 Bail 716 Unreachable Block 16 266 Phi ← NewArrayDynamicLength#258 Value 267 Constant 0x0 Int32 279 Goto → block 17 Block 17 (loop header) 268 Phi ← Constant#189, Constant#189 Value 269 Phi ← Constant#189, Constant#189 Value 270 Phi ← NewArrayObject#153, NewArrayObject#153 Value 271 Phi ← Lambda#184, Lambda#184 Value 272 Phi ← NewArrayObject#153, NewArrayObject#153 Value 273 Phi ← MinMax#202, MinMax#202 Value 274 Phi ← Phi#244, Phi#244 Value 275 Phi ← Phi#266, Phi#266 Value 276 Phi ← Constant#267, Add#324 Value 277 Phi ← Constant#189, Phi#321 Value 278 Phi ← NewArrayObject#153, NewArrayObject#153 Value 280 InterruptCheck 281 Unbox Phi#276 to Int32 (fallible) Int32 282 Unbox Phi#273 to Int32 (fallible) Int32 283 Compare ← Unbox#281, Unbox#282 Lt Bool 284 Test ← Compare#283 → block 18, block 23 1 0 Block 18 285 Unbox Phi#272 to Object (fallible) Object 286 Unbox Phi#276 to Int32 (fallible) Int32 287 GuardShape ← Unbox#285 Object 288 Elements ← GuardShape#287 Elements 289 InitializedLength ← Elements#288 Int32 290 BoundsCheck ← Unbox#286, InitializedLength#289 Int32 291 SpectreMaskIndex ← BoundsCheck#290, InitializedLength#289 Int32 292 GuardElementNotHole ← Elements#288, SpectreMaskIndex#291 293 Constant true Bool 294 Test ← Constant#293 → block 19, block 22 1 0 Block 19 295 Unbox Phi#272 to Object (fallible) Object 296 Unbox Phi#276 to Int32 (fallible) Int32 297 GuardShape ← Unbox#295 Object 298 Elements ← GuardShape#297 Elements 299 InitializedLength ← Elements#298 Int32 300 BoundsCheck ← Unbox#296, InitializedLength#299 Int32 301 SpectreMaskIndex ← BoundsCheck#300, InitializedLength#299 Int32 302 GuardElementsArePacked ← Elements#298 303 LoadElement ← Elements#298, SpectreMaskIndex#301 Value 304 Constant 0x3 Int32 305 Unbox Phi#271 to Object (fallible) Object 306 GuardToFunction ← Unbox#305 Object 307 GuardFunctionScript ← GuardToFunction#306 Object 308 Goto → block 20 Block 20 309 Constant undefined Undefined 310 Constant 0x2 Int32 311 Unbox LoadElement#303 to Double (fallible) Double 312 Mul ← Unbox#311, Constant#310 [double] Double 314 Goto → block 21 Block 21 315 Unbox Phi#275 to Object (fallible) Object 316 Unbox Phi#276 to Int32 (fallible) Int32 317 GuardShape ← Unbox#315 Object 318 Elements ← GuardShape#317 Elements 319 StoreElementHole ← GuardShape#317, Elements#318, Unbox#316, Mul#312 320 Goto → block 22 Block 22 (backedge) 321 Phi ← Mul#312, Phi#277 Value 322 Unbox Phi#276 to Int32 (fallible) Int32 323 Constant 0x1 Int32 324 Add ← Unbox#322, Constant#323 [int32] Int32 325 Goto → block 17 Block 23 327 Goto → block 24 Block 24 328 Unbox Phi#275 to Object (fallible) Object 329 GuardShape ← Unbox#328 Object 330 Constant object 104289c3e088 (Array) Object 331 Constant function filter (self-hosted:183) at 104289c47970 Object 332 Constant function complex4/< (-e:18) at 104289c63d60 Object 333 Lambda ← FunctionEnvironment#179, Constant#332 Object 334 Constant 0x1 Int32 335 Constant function filter (self-hosted:183) at 104289c47970 Object 336 GuardSpecificFunction ← Constant#331, Constant#335 Object 337 Goto → block 25 Block 25 338 Constant undefined Undefined 339 Constant function ToObject at 104289c6c740 Object 340 DebugCheckSelfHosted ← Constant#339 Value 341 Constant undefined Undefined 342 Constant 0x1 Int32 343 Unbox Phi#275 to Object (fallible) Object 344 Constant function ToLength at 104289c6c778 Object 345 DebugCheckSelfHosted ← Constant#344 Value 346 Constant undefined Undefined 347 GuardShape ← Unbox#343 Object 348 Elements ← GuardShape#347 Elements 349 ArrayLength ← Elements#348 Int32 350 Constant 0x1 Int32 351 Constant 0x0 Int32 352 MinMax ← ArrayLength#349, Constant#351 (max) Int32 353 Constant 0x1 Int32 354 Constant 0x0 Int32 355 Compare ← Constant#353, Constant#354 StrictEq Bool 356 Test ← Compare#355 → block 26, block 27 1 0 Block 26 357 CallGetIntrinsicValue Value 358 DebugCheckSelfHosted ← CallGetIntrinsicValue#357 Value 359 Constant undefined Undefined 360 Constant 0x37 Int32 361 Constant 0x0 Int32 362 Constant string 104289c28540 String 363 Bail 715 Unreachable Block 27 366 Constant function IsCallable at 104289c6c7b0 Object 367 DebugCheckSelfHosted ← Constant#366 Value 368 Constant undefined Undefined 369 Constant 0x1 Int32 370 IsCallable ← Lambda#333 Bool 371 Test ← IsCallable#370 → block 29, block 28 1 0 Block 28 372 CallGetIntrinsicValue Value 373 DebugCheckSelfHosted ← CallGetIntrinsicValue#372 Value 374 Constant undefined Undefined 375 Constant 0xc Int32 376 CallGetIntrinsicValue Value 377 DebugCheckSelfHosted ← CallGetIntrinsicValue#376 Value 378 Constant undefined Undefined 379 Constant 0x0 Int32 380 Bail 714 Unreachable Block 29 385 Constant 0x1 Int32 386 Constant 0x1 Int32 387 Compare ← Constant#385, Constant#386 Gt Bool 388 Test ← Compare#387 → block 30, block 31 1 0 Block 30 389 Constant 0x1 Int32 390 GetInlinedArgument ← Constant#389, Lambda#333 Value 391 Goto → block 32 Block 31 392 Constant undefined Undefined 393 Goto → block 32 Block 32 394 Phi ← Constant#392, GetInlinedArgument#390 Value 395 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 396 DebugCheckSelfHosted ← Constant#395 Value 397 Constant undefined Undefined 398 Constant 0x1 Int32 399 HasShape ← Unbox#343 Bool 400 Test ← HasShape#399 → block 33, block 34 1 0 Block 33 401 Constant shape at 104289c64f00 Shape 402 NewArrayObject ← Constant#401 Object 403 Goto → block 35 Block 34 404 CallGetIntrinsicValue Value 405 DebugCheckSelfHosted ← CallGetIntrinsicValue#404 Value 406 Constant undefined Undefined 407 Constant 0x0 Int32 408 Bail 713 Unreachable Block 35 411 Phi ← NewArrayObject#402 Value 412 Constant 0x0 Int32 413 Constant 0x0 Int32 426 Goto → block 36 Block 36 (loop header) 414 Phi ← Constant#338, Constant#338 Value 415 Phi ← Constant#338, Constant#338 Value 416 Phi ← Phi#275, Phi#275 Value 417 Phi ← Lambda#333, Lambda#333 Value 418 Phi ← Unbox#343, Unbox#343 Value 419 Phi ← MinMax#352, MinMax#352 Value 420 Phi ← Phi#394, Phi#394 Value 421 Phi ← Phi#411, Phi#411 Value 422 Phi ← Constant#412, Add#475 Value 423 Phi ← Constant#413, Phi#471 Value 424 Phi ← Constant#338, Phi#472 Value 425 Phi ← Phi#275, Phi#275 Value 427 InterruptCheck 428 Unbox Phi#422 to Int32 (fallible) Int32 429 Unbox Phi#419 to Int32 (fallible) Int32 430 Compare ← Unbox#428, Unbox#429 Lt Bool 431 Test ← Compare#430 → block 37, block 43 1 0 Block 37 432 Unbox Phi#418 to Object (fallible) Object 433 Unbox Phi#422 to Int32 (fallible) Int32 434 GuardShape ← Unbox#432 Object 435 Elements ← GuardShape#434 Elements 436 InitializedLength ← Elements#435 Int32 437 BoundsCheck ← Unbox#433, InitializedLength#436 Int32 438 SpectreMaskIndex ← BoundsCheck#437, InitializedLength#436 Int32 439 GuardElementNotHole ← Elements#435, SpectreMaskIndex#438 440 Constant true Bool 441 Test ← Constant#440 → block 38, block 42 1 0 Block 38 442 Unbox Phi#418 to Object (fallible) Object 443 Unbox Phi#422 to Int32 (fallible) Int32 444 GuardShape ← Unbox#442 Object 445 Elements ← GuardShape#444 Elements 446 InitializedLength ← Elements#445 Int32 447 BoundsCheck ← Unbox#443, InitializedLength#446 Int32 448 SpectreMaskIndex ← BoundsCheck#447, InitializedLength#446 Int32 449 GuardElementsArePacked ← Elements#445 450 LoadElement ← Elements#445, SpectreMaskIndex#448 Value 451 Constant 0x3 Int32 452 Unbox Phi#417 to Object (fallible) Object 453 GuardToFunction ← Unbox#452 Object 454 GuardFunctionScript ← GuardToFunction#453 Object 455 Goto → block 39 Block 39 456 Constant undefined Undefined 457 Constant 0x32 Int32 458 Unbox LoadElement#450 to Double (fallible) Double 459 Compare ← Unbox#458, Constant#457 Gt Bool 461 Goto → block 40 Block 40 462 Test ← Compare#459 → block 41, block 42 1 0 Block 41 463 Unbox Phi#423 to Int32 (fallible) Int32 464 Constant 0x1 Int32 465 Add ← Unbox#463, Constant#464 [int32] Int32 466 Unbox Phi#421 to Object (fallible) Object 467 GuardShape ← Unbox#466 Object 468 Elements ← GuardShape#467 Elements 469 StoreElementHole ← GuardShape#467, Elements#468, Unbox#463, LoadElement#450 470 Goto → block 42 Block 42 (backedge) 471 Phi ← Add#465, Phi#423, Phi#423 Value 472 Phi ← LoadElement#450, Phi#424, LoadElement#450 Value 473 Unbox Phi#422 to Int32 (fallible) Int32 474 Constant 0x1 Int32 475 Add ← Unbox#473, Constant#474 [int32] Int32 476 Goto → block 36 Block 43 478 Goto → block 44 Block 44 479 Unbox Phi#421 to Object (fallible) Object 480 GuardShape ← Unbox#479 Object 481 Constant object 104289c3e088 (Array) Object 482 Constant function reduce (self-hosted:205) at 104289c479c0 Object 483 Constant function complex4/< (-e:18) at 104289c63d98 Object 484 Lambda ← FunctionEnvironment#179, Constant#483 Object 485 Constant 0x0 Int32 486 Constant 0x2 Int32 487 Constant function reduce (self-hosted:205) at 104289c479c0 Object 488 GuardSpecificFunction ← Constant#482, Constant#487 Object 489 Call ← GuardSpecificFunction#488, Phi#421, Lambda#484, Constant#485 Value 491 Goto → block 45 Block 45 492 Constant object 104289c3f040 (LexicalEnvironment) Object 493 Constant object 104289c3e030 (global) Object 494 Constant function complex5 (-e:21) at 104289c6c900 Object 495 Constant undefined Undefined 496 Constant shape at 104289c64fc0 Shape 497 NewPlainObject ← Constant#496 Object 498 GuardShape ← NewPlainObject#497 Object 499 PostWriteBarrier ← GuardShape#498, Call#112 500 StoreFixedSlot ← GuardShape#498, Call#112 (slot 0) 501 GuardShape ← NewPlainObject#497 Object 502 PostWriteBarrier ← GuardShape#501, BitOr#137 503 StoreFixedSlot ← GuardShape#501, BitOr#137 (slot 1) 504 GuardShape ← NewPlainObject#497 Object 505 PostWriteBarrier ← GuardShape#504, Call#147 506 StoreFixedSlot ← GuardShape#504, Call#147 (slot 2) 507 Constant 0x1 Int32 508 Constant function complex5 (-e:21) at 104289c6c900 Object 509 GuardSpecificFunction ← Constant#494, Constant#508 Object 510 Goto → block 46 Block 46 511 Constant undefined Undefined 512 FunctionEnvironment ← GuardSpecificFunction#509 Object 513 Constant object 104289c3f078 (Call) Object 514 NewCallObject ← Constant#513 Object 515 AssertCanElidePostWriteBarrier ← NewCallObject#514, FunctionEnvironment#512 516 AssertCanElidePostWriteBarrier ← NewCallObject#514, GuardSpecificFunction#509 517 StoreFixedSlot ← NewCallObject#514, FunctionEnvironment#512 (slot 0) 518 StoreFixedSlot ← NewCallObject#514, GuardSpecificFunction#509 (slot 1) 519 PostWriteBarrier ← NewCallObject#514, NewPlainObject#497 520 StoreFixedSlot ← NewCallObject#514, NewPlainObject#497 (slot 2) 521 Constant object 104289c3f040 (LexicalEnvironment) Object 522 Constant object 104289c3e030 (global) Object 523 Constant function Object at 104289c422e0 Object 524 Constant function Object at 104289c422e0 Object 525 GuardObjectIdentity ← Constant#523, Constant#524 Object 526 Constant function keys at 104289c42468 Object 527 LoadFixedSlot ← NewCallObject#514 (slot 2) Value 528 Constant 0x1 Int32 529 Constant function keys at 104289c42468 Object 530 GuardSpecificFunction ← Constant#526, Constant#529 Object 531 Unbox LoadFixedSlot#527 to Object (fallible) Object 532 GuardIsNotProxy ← Unbox#531 Object 533 ObjectKeys ← GuardIsNotProxy#532 Object 534 GuardShape ← ObjectKeys#533 Object 535 Constant object 104289c3e088 (Array) Object 536 Constant function map (self-hosted:163) at 104289c47920 Object 537 Constant function complex5/< (-e:22) at 104289c63e08 Object 538 Lambda ← NewCallObject#514, Constant#537 Object 539 Constant 0x1 Int32 540 Constant function map (self-hosted:163) at 104289c47920 Object 541 GuardSpecificFunction ← Constant#536, Constant#540 Object 542 Goto → block 47 Block 47 543 Constant undefined Undefined 544 Constant function ToObject at 104289c6c740 Object 545 DebugCheckSelfHosted ← Constant#544 Value 546 Constant undefined Undefined 547 Constant 0x1 Int32 548 Constant function ToLength at 104289c6c778 Object 549 DebugCheckSelfHosted ← Constant#548 Value 550 Constant undefined Undefined 551 GuardShape ← ObjectKeys#533 Object 552 Elements ← GuardShape#551 Elements 553 ArrayLength ← Elements#552 Int32 554 Constant 0x1 Int32 555 Constant 0x0 Int32 556 MinMax ← ArrayLength#553, Constant#555 (max) Int32 557 Constant 0x1 Int32 558 Constant 0x0 Int32 559 Compare ← Constant#557, Constant#558 StrictEq Bool 560 Test ← Compare#559 → block 48, block 49 1 0 Block 48 561 CallGetIntrinsicValue Value 562 DebugCheckSelfHosted ← CallGetIntrinsicValue#561 Value 563 Constant undefined Undefined 564 Constant 0x37 Int32 565 Constant 0x0 Int32 566 Constant string 104289c2e080 String 567 Bail 712 Unreachable Block 49 570 Constant function IsCallable at 104289c6c7b0 Object 571 DebugCheckSelfHosted ← Constant#570 Value 572 Constant undefined Undefined 573 Constant 0x1 Int32 574 IsCallable ← Lambda#538 Bool 575 Test ← IsCallable#574 → block 51, block 50 1 0 Block 50 576 CallGetIntrinsicValue Value 577 DebugCheckSelfHosted ← CallGetIntrinsicValue#576 Value 578 Constant undefined Undefined 579 Constant 0xc Int32 580 CallGetIntrinsicValue Value 581 DebugCheckSelfHosted ← CallGetIntrinsicValue#580 Value 582 Constant undefined Undefined 583 Constant 0x0 Int32 584 Bail 711 Unreachable Block 51 589 Constant 0x1 Int32 590 Constant 0x1 Int32 591 Compare ← Constant#589, Constant#590 Gt Bool 592 Test ← Compare#591 → block 52, block 53 1 0 Block 52 593 Constant 0x1 Int32 594 GetInlinedArgument ← Constant#593, Lambda#538 Value 595 Goto → block 54 Block 53 596 Constant undefined Undefined 597 Goto → block 54 Block 54 598 Phi ← Constant#596, GetInlinedArgument#594 Value 599 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 600 DebugCheckSelfHosted ← Constant#599 Value 601 Constant undefined Undefined 602 Constant 0x1 Int32 603 HasShape ← ObjectKeys#533 Bool 604 Test ← HasShape#603 → block 55, block 56 1 0 Block 55 605 Constant function std_Array at 104289c6c820 Object 606 DebugCheckSelfHosted ← Constant#605 Value 607 Constant undefined Undefined 608 Constant 0x1 Int32 609 Unbox DebugCheckSelfHosted#606 to Object (fallible) Object 610 Constant function std_Array at 104289c6c820 Object 611 GuardSpecificFunction ← Unbox#609, Constant#610 Object 612 NewArrayDynamicLength ← MinMax#556 Object 613 Goto → block 57 Block 56 614 CallGetIntrinsicValue Value 615 DebugCheckSelfHosted ← CallGetIntrinsicValue#614 Value 616 Constant undefined Undefined 617 Bail 710 Unreachable Block 57 620 Phi ← NewArrayDynamicLength#612 Value 621 Constant 0x0 Int32 633 Goto → block 58 Block 58 (loop header) 622 Phi ← Constant#543, Constant#543 Value 623 Phi ← Constant#543, Constant#543 Value 624 Phi ← ObjectKeys#533, ObjectKeys#533 Value 625 Phi ← Lambda#538, Lambda#538 Value 626 Phi ← ObjectKeys#533, ObjectKeys#533 Value 627 Phi ← MinMax#556, MinMax#556 Value 628 Phi ← Phi#598, Phi#598 Value 629 Phi ← Phi#620, Phi#620 Value 630 Phi ← Constant#621, Add#679 Value 631 Phi ← Constant#543, Phi#676 Value 632 Phi ← ObjectKeys#533, ObjectKeys#533 Value 634 InterruptCheck 635 Unbox Phi#630 to Int32 (fallible) Int32 636 Unbox Phi#627 to Int32 (fallible) Int32 637 Compare ← Unbox#635, Unbox#636 Lt Bool 638 Test ← Compare#637 → block 59, block 64 1 0 Block 59 639 Unbox Phi#626 to Object (fallible) Object 640 Unbox Phi#630 to Int32 (fallible) Int32 641 GuardShape ← Unbox#639 Object 642 Elements ← GuardShape#641 Elements 643 InitializedLength ← Elements#642 Int32 644 BoundsCheck ← Unbox#640, InitializedLength#643 Int32 645 SpectreMaskIndex ← BoundsCheck#644, InitializedLength#643 Int32 646 GuardElementNotHole ← Elements#642, SpectreMaskIndex#645 647 Constant true Bool 648 Test ← Constant#647 → block 60, block 63 1 0 Block 60 649 Unbox Phi#626 to Object (fallible) Object 650 Unbox Phi#630 to Int32 (fallible) Int32 651 GuardShape ← Unbox#649 Object 652 Elements ← GuardShape#651 Elements 653 InitializedLength ← Elements#652 Int32 654 BoundsCheck ← Unbox#650, InitializedLength#653 Int32 655 SpectreMaskIndex ← BoundsCheck#654, InitializedLength#653 Int32 656 GuardElementsArePacked ← Elements#652 657 LoadElement ← Elements#652, SpectreMaskIndex#655 Value 658 Constant 0x3 Int32 659 Unbox Phi#625 to Object (fallible) Object 660 GuardToFunction ← Unbox#659 Object 661 GuardFunctionScript ← GuardToFunction#660 Object 662 Goto → block 61 Block 61 663 Constant undefined Undefined 664 FunctionEnvironment ← GuardFunctionScript#661 Object 665 LoadFixedSlot ← FunctionEnvironment#664 (slot 2) Value 666 Unbox LoadFixedSlot#665 to Object (fallible) Object 667 MegamorphicLoadSlotByValue ← Unbox#666, LoadElement#657 Value 669 Goto → block 62 Block 62 670 Unbox Phi#629 to Object (fallible) Object 671 Unbox Phi#630 to Int32 (fallible) Int32 672 GuardShape ← Unbox#670 Object 673 Elements ← GuardShape#672 Elements 674 StoreElementHole ← GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667 675 Goto → block 63 Block 63 (backedge) 676 Phi ← MegamorphicLoadSlotByValue#667, Phi#631 Value 677 Unbox Phi#630 to Int32 (fallible) Int32 678 Constant 0x1 Int32 679 Add ← Unbox#677, Constant#678 [int32] Int32 680 Goto → block 58 Block 64 682 Goto → block 65 Block 65 683 Unbox Phi#629 to Object (fallible) Object 684 GuardShape ← Unbox#683 Object 685 Constant object 104289c3e088 (Array) Object 686 Constant function reduce (self-hosted:205) at 104289c479c0 Object 687 Constant function complex5/< (-e:22) at 104289c63e40 Object 688 Lambda ← NewCallObject#514, Constant#687 Object 689 Constant 0x0 Int32 690 Constant 0x2 Int32 691 Constant function reduce (self-hosted:205) at 104289c479c0 Object 692 GuardSpecificFunction ← Constant#686, Constant#691 Object 693 Call ← GuardSpecificFunction#692, Phi#629, Lambda#688, Constant#689 Value 695 Goto → block 66 Block 66 (backedge) 696 Unbox Phi#95 to Int32 (fallible) Int32 697 Constant 0x1 Int32 698 Add ← Unbox#696, Constant#697 [int32] Int32 699 Goto → block 1 Block 67 700 Unbox Phi#88 to Double (fallible) Double 701 Unbox Phi#89 to Double (fallible) Double 702 Add ← Unbox#700, Unbox#701 [double] Double 703 Unbox Phi#90 to Double (fallible) Double 704 Add ← Add#702, Unbox#703 [double] Double 705 Unbox Phi#92 to Double (fallible) Double 706 Add ← Add#704, Unbox#705 [double] Double 707 Unbox Phi#94 to Double (fallible) Double 708 Add ← Add#706, Unbox#707 [double] Double 709 Return ← Add#708
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant magic uninitialized-lexical MagicUninitializedLexical 6 Constant object 104289c3f040 (LexicalEnvironment) Object 7 Constant object 104289c3e030 (global) Object 8 Constant function complex1 (-e:2) at 104289c6c8c8 Object 9 Constant undefined Undefined 10 Constant 0x1 Int32 11 Constant function complex1 (-e:2) at 104289c6c8c8 Object 12 GuardSpecificFunction ← Constant#8, Constant#11 Object 13 Call ← GuardSpecificFunction#12, Constant#9, Parameter#1 Value 14 Constant object 104289c3f040 (LexicalEnvironment) Object 15 Constant object 104289c3e030 (global) Object 16 Constant function complex2 (-e:7) at 104289c6c970 Object 17 Constant undefined Undefined 18 Constant 0x1 Int32 19 Constant function complex2 (-e:7) at 104289c6c970 Object 20 GuardSpecificFunction ← Constant#16, Constant#19 Object 21 Call ← GuardSpecificFunction#20, Constant#17, Parameter#1 Value 22 Constant object 104289c3f040 (LexicalEnvironment) Object 23 Constant object 104289c3e030 (global) Object 24 Constant function complex3 (-e:11) at 104289c6c938 Object 25 Constant undefined Undefined 26 Constant 0x2 Int32 27 Constant function complex3 (-e:11) at 104289c6c938 Object 28 GuardSpecificFunction ← Constant#24, Constant#27 Object 29 Call ← GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13 Value 30 Constant shape at 104289c64f00 Shape 31 NewArrayObject ← Constant#30 Object 32 Constant 0x0 Int32 33 Elements ← NewArrayObject#31 Elements 34 PostWriteBarrier ← NewArrayObject#31, Call#13 35 StoreElement ← Elements#33, Constant#32, Call#13 36 SetInitializedLength ← Elements#33, Constant#32 37 Constant 0x1 Int32 38 Elements ← NewArrayObject#31 Elements 39 PostWriteBarrier ← NewArrayObject#31, Call#21 40 StoreElement ← Elements#38, Constant#37, Call#21 41 SetInitializedLength ← Elements#38, Constant#37 42 Constant 0x2 Int32 43 Elements ← NewArrayObject#31 Elements 44 PostWriteBarrier ← NewArrayObject#31, Call#29 45 StoreElement ← Elements#43, Constant#42, Call#29 46 SetInitializedLength ← Elements#43, Constant#42 47 Constant 0x3 Int32 48 Elements ← NewArrayObject#31 Elements 49 PostWriteBarrier ← NewArrayObject#31, Parameter#1 50 StoreElement ← Elements#48, Constant#47, Parameter#1 51 SetInitializedLength ← Elements#48, Constant#47 52 Constant object 104289c3f040 (LexicalEnvironment) Object 53 Constant object 104289c3e030 (global) Object 54 Constant function complex4 (-e:17) at 104289c6c890 Object 55 Constant undefined Undefined 56 Constant 0x1 Int32 57 Constant function complex4 (-e:17) at 104289c6c890 Object 58 GuardSpecificFunction ← Constant#54, Constant#57 Object 59 Call ← GuardSpecificFunction#58, Constant#55, NewArrayObject#31 Value 60 Constant shape at 104289c64fa0 Shape 61 NewPlainObject ← Constant#60 Object 62 GuardShape ← NewPlainObject#61 Object 63 PostWriteBarrier ← GuardShape#62, Call#13 64 StoreFixedSlot ← GuardShape#62, Call#13 (slot 0) 65 GuardShape ← NewPlainObject#61 Object 66 PostWriteBarrier ← GuardShape#65, Call#21 67 StoreFixedSlot ← GuardShape#65, Call#21 (slot 1) 68 GuardShape ← NewPlainObject#61 Object 69 PostWriteBarrier ← GuardShape#68, Call#29 70 StoreFixedSlot ← GuardShape#68, Call#29 (slot 2) 71 GuardShape ← NewPlainObject#61 Object 72 PostWriteBarrier ← GuardShape#71, Call#59 73 StoreFixedSlot ← GuardShape#71, Call#59 (slot 3) 74 Constant object 104289c3f040 (LexicalEnvironment) Object 75 Constant object 104289c3e030 (global) Object 76 Constant function complex5 (-e:21) at 104289c6c900 Object 77 Constant undefined Undefined 78 Constant 0x1 Int32 79 Constant function complex5 (-e:21) at 104289c6c900 Object 80 GuardSpecificFunction ← Constant#76, Constant#79 Object 81 Call ← GuardSpecificFunction#80, Constant#77, NewPlainObject#61 Value 82 Constant magic uninitialized-lexical MagicUninitializedLexical 83 Constant 0x0 Int32 96 Goto → block 1 Block 1 (loop header) 84 Phi ← Constant#2, Constant#2 Value 85 Phi ← Constant#2, Constant#2 Value 86 Phi ← Parameter#0, Parameter#0 Value 87 Phi ← Parameter#1, Parameter#1 Value 88 Phi ← Call#13, Call#112 Value 89 Phi ← Call#21, BitOr#137 Value 90 Phi ← Call#29, Call#147 Value 91 Phi ← NewArrayObject#31, NewArrayObject#31 Value 92 Phi ← Call#59, Call#489 Value 93 Phi ← NewPlainObject#61, NewPlainObject#61 Value 94 Phi ← Call#81, Call#693 Value 95 Phi ← Constant#83, Add#698 Value 97 InterruptCheck 98 Constant 0xa Int32 99 Unbox Phi#95 to Int32 (fallible) Int32 100 Compare ← Unbox#99, Constant#98 Lt Bool 101 Test ← Compare#100 → block 2, block 67 1 0 Block 2 102 Constant object 104289c3f040 (LexicalEnvironment) Object 103 Constant object 104289c3e030 (global) Object 104 Constant function complex1 (-e:2) at 104289c6c8c8 Object 105 Constant undefined Undefined 106 Unbox Phi#88 to Double (fallible) Double 107 Unbox Phi#95 to Double (fallible) Double 108 Add ← Unbox#106, Unbox#107 [double] Double 109 Constant 0x1 Int32 110 Constant function complex1 (-e:2) at 104289c6c8c8 Object 111 GuardSpecificFunction ← Constant#104, Constant#110 Object 112 Call ← GuardSpecificFunction#111, Constant#105, Add#108 Value 113 Constant object 104289c3f040 (LexicalEnvironment) Object 114 Constant object 104289c3e030 (global) Object 115 Constant function complex2 (-e:7) at 104289c6c970 Object 116 Constant undefined Undefined 117 Unbox Phi#89 to Int32 (fallible) Int32 118 Unbox Phi#95 to Int32 (fallible) Int32 119 Add ← Unbox#117, Unbox#118 [int32] Int32 120 Constant 0x1 Int32 121 Constant function complex2 (-e:7) at 104289c6c970 Object 122 GuardSpecificFunction ← Constant#115, Constant#121 Object 123 Goto → block 3 Block 3 124 Constant undefined Undefined 125 Constant 0x1 Int32 126 Lsh ← Add#119, Constant#125 Int32 127 Constant 0x1 Int32 128 Rsh ← Add#119, Constant#127 Int32 129 Constant 0xff Int32 130 BitAnd ← Add#119, Constant#129 Int32 131 Constant 0x2 Int32 132 Ursh ← Add#119, Constant#131 Int32 133 Add ← BitAnd#130, Ursh#132 [int32] Int32 134 BitNot ← Add#119 Int32 135 Sub ← Add#133, BitNot#134 [int32] Int32 136 BitXor ← Rsh#128, Sub#135 Int32 137 BitOr ← Lsh#126, BitXor#136 Int32 139 Goto → block 4 Block 4 140 Constant object 104289c3f040 (LexicalEnvironment) Object 141 Constant object 104289c3e030 (global) Object 142 Constant function complex3 (-e:11) at 104289c6c938 Object 143 Constant undefined Undefined 144 Constant 0x2 Int32 145 Constant function complex3 (-e:11) at 104289c6c938 Object 146 GuardSpecificFunction ← Constant#142, Constant#145 Object 147 Call ← GuardSpecificFunction#146, Constant#143, Phi#90, Call#112 Value 148 Constant object 104289c3f040 (LexicalEnvironment) Object 149 Constant object 104289c3e030 (global) Object 150 Constant function complex4 (-e:17) at 104289c6c890 Object 151 Constant undefined Undefined 152 Constant shape at 104289c64f00 Shape 153 NewArrayObject ← Constant#152 Object 154 Constant 0x0 Int32 155 Elements ← NewArrayObject#153 Elements 156 PostWriteBarrier ← NewArrayObject#153, Call#112 157 StoreElement ← Elements#155, Constant#154, Call#112 158 SetInitializedLength ← Elements#155, Constant#154 159 Constant 0x1 Int32 160 Elements ← NewArrayObject#153 Elements 161 PostWriteBarrier ← NewArrayObject#153, BitOr#137 162 StoreElement ← Elements#160, Constant#159, BitOr#137 163 SetInitializedLength ← Elements#160, Constant#159 164 Constant 0x2 Int32 165 Elements ← NewArrayObject#153 Elements 166 PostWriteBarrier ← NewArrayObject#153, Call#147 167 StoreElement ← Elements#165, Constant#164, Call#147 168 SetInitializedLength ← Elements#165, Constant#164 169 Constant 0x3 Int32 170 Elements ← NewArrayObject#153 Elements 171 PostWriteBarrier ← NewArrayObject#153, Phi#95 172 StoreElement ← Elements#170, Constant#169, Phi#95 173 SetInitializedLength ← Elements#170, Constant#169 174 Constant 0x1 Int32 175 Constant function complex4 (-e:17) at 104289c6c890 Object 176 GuardSpecificFunction ← Constant#150, Constant#175 Object 177 Goto → block 5 Block 5 178 Constant undefined Undefined 179 FunctionEnvironment ← GuardSpecificFunction#176 Object 180 GuardShape ← NewArrayObject#153 Object 181 Constant object 104289c3e088 (Array) Object 182 Constant function map (self-hosted:163) at 104289c47920 Object 183 Constant function complex4/< (-e:18) at 104289c63d28 Object 184 Lambda ← FunctionEnvironment#179, Constant#183 Object 185 Constant 0x1 Int32 186 Constant function map (self-hosted:163) at 104289c47920 Object 187 GuardSpecificFunction ← Constant#182, Constant#186 Object 188 Goto → block 6 Block 6 189 Constant undefined Undefined 190 Constant function ToObject at 104289c6c740 Object 191 DebugCheckSelfHosted ← Constant#190 Value 192 Constant undefined Undefined 193 Constant 0x1 Int32 194 Constant function ToLength at 104289c6c778 Object 195 DebugCheckSelfHosted ← Constant#194 Value 196 Constant undefined Undefined 197 GuardShape ← NewArrayObject#153 Object 198 Elements ← GuardShape#197 Elements 199 ArrayLength ← Elements#198 Int32 200 Constant 0x1 Int32 201 Constant 0x0 Int32 202 MinMax ← ArrayLength#199, Constant#201 (max) Int32 203 Constant 0x1 Int32 204 Constant 0x0 Int32 205 Compare ← Constant#203, Constant#204 StrictEq Bool 206 Test ← Compare#205 → block 7, block 8 1 0 Block 7 207 CallGetIntrinsicValue Value 208 DebugCheckSelfHosted ← CallGetIntrinsicValue#207 Value 209 Constant undefined Undefined 210 Constant 0x37 Int32 211 Constant 0x0 Int32 212 Constant string 104289c2e080 String 213 Bail 718 Unreachable Block 8 216 Constant function IsCallable at 104289c6c7b0 Object 217 DebugCheckSelfHosted ← Constant#216 Value 218 Constant undefined Undefined 219 Constant 0x1 Int32 220 IsCallable ← Lambda#184 Bool 221 Test ← IsCallable#220 → block 10, block 9 1 0 Block 9 222 CallGetIntrinsicValue Value 223 DebugCheckSelfHosted ← CallGetIntrinsicValue#222 Value 224 Constant undefined Undefined 225 Constant 0xc Int32 226 CallGetIntrinsicValue Value 227 DebugCheckSelfHosted ← CallGetIntrinsicValue#226 Value 228 Constant undefined Undefined 229 Constant 0x0 Int32 230 Bail 717 Unreachable Block 10 235 Constant 0x1 Int32 236 Constant 0x1 Int32 237 Compare ← Constant#235, Constant#236 Gt Bool 238 Test ← Compare#237 → block 11, block 12 1 0 Block 11 239 Constant 0x1 Int32 240 GetInlinedArgument ← Constant#239, Lambda#184 Value 241 Goto → block 13 Block 12 242 Constant undefined Undefined 243 Goto → block 13 Block 13 244 Phi ← Constant#242, GetInlinedArgument#240 Value 245 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 246 DebugCheckSelfHosted ← Constant#245 Value 247 Constant undefined Undefined 248 Constant 0x1 Int32 249 HasShape ← NewArrayObject#153 Bool 250 Test ← HasShape#249 → block 14, block 15 1 0 Block 14 251 Constant function std_Array at 104289c6c820 Object 252 DebugCheckSelfHosted ← Constant#251 Value 253 Constant undefined Undefined 254 Constant 0x1 Int32 255 Unbox DebugCheckSelfHosted#252 to Object (fallible) Object 256 Constant function std_Array at 104289c6c820 Object 257 GuardSpecificFunction ← Unbox#255, Constant#256 Object 258 NewArrayDynamicLength ← MinMax#202 Object 259 Goto → block 16 Block 15 260 CallGetIntrinsicValue Value 261 DebugCheckSelfHosted ← CallGetIntrinsicValue#260 Value 262 Constant undefined Undefined 263 Bail 716 Unreachable Block 16 266 Phi ← NewArrayDynamicLength#258 Value 267 Constant 0x0 Int32 279 Goto → block 17 Block 17 (loop header) 268 Phi ← Constant#189, Constant#189 Value 269 Phi ← Constant#189, Constant#189 Value 270 Phi ← NewArrayObject#153, NewArrayObject#153 Value 271 Phi ← Lambda#184, Lambda#184 Value 272 Phi ← NewArrayObject#153, NewArrayObject#153 Value 273 Phi ← MinMax#202, MinMax#202 Value 274 Phi ← Phi#244, Phi#244 Value 275 Phi ← Phi#266, Phi#266 Value 276 Phi ← Constant#267, Add#324 Value 277 Phi ← Constant#189, Phi#321 Value 278 Phi ← NewArrayObject#153, NewArrayObject#153 Value 280 InterruptCheck 281 Unbox Phi#276 to Int32 (fallible) Int32 282 Unbox Phi#273 to Int32 (fallible) Int32 283 Compare ← Unbox#281, Unbox#282 Lt Bool 284 Test ← Compare#283 → block 18, block 24 1 0 Block 18 285 Unbox Phi#272 to Object (fallible) Object 286 Unbox Phi#276 to Int32 (fallible) Int32 287 GuardShape ← Unbox#285 Object 288 Elements ← GuardShape#287 Elements 289 InitializedLength ← Elements#288 Int32 290 BoundsCheck ← Unbox#286, InitializedLength#289 Int32 291 SpectreMaskIndex ← BoundsCheck#290, InitializedLength#289 Int32 292 GuardElementNotHole ← Elements#288, SpectreMaskIndex#291 293 Constant true Bool 294 Test ← Constant#293 → block 19, block 22 1 0 Block 19 295 Unbox Phi#272 to Object (fallible) Object 296 Unbox Phi#276 to Int32 (fallible) Int32 297 GuardShape ← Unbox#295 Object 298 Elements ← GuardShape#297 Elements 299 InitializedLength ← Elements#298 Int32 300 BoundsCheck ← Unbox#296, InitializedLength#299 Int32 301 SpectreMaskIndex ← BoundsCheck#300, InitializedLength#299 Int32 302 GuardElementsArePacked ← Elements#298 303 LoadElement ← Elements#298, SpectreMaskIndex#301 Value 304 Constant 0x3 Int32 305 Unbox Phi#271 to Object (fallible) Object 306 GuardToFunction ← Unbox#305 Object 307 GuardFunctionScript ← GuardToFunction#306 Object 308 Goto → block 20 Block 20 309 Constant undefined Undefined 310 Constant 0x2 Int32 311 Unbox LoadElement#303 to Double (fallible) Double 312 Mul ← Unbox#311, Constant#310 [double] Double 314 Goto → block 21 Block 21 315 Unbox Phi#275 to Object (fallible) Object 316 Unbox Phi#276 to Int32 (fallible) Int32 317 GuardShape ← Unbox#315 Object 318 Elements ← GuardShape#317 Elements 319 StoreElementHole ← GuardShape#317, Elements#318, Unbox#316, Mul#312 320 Goto → block 22 Block 22 (backedge) 321 Phi ← Mul#312, Phi#277 Value 322 Unbox Phi#276 to Int32 (fallible) Int32 323 Constant 0x1 Int32 324 Add ← Unbox#322, Constant#323 [int32] Int32 325 Goto → block 17 Block 24 328 Unbox Phi#275 to Object (fallible) Object 329 GuardShape ← Unbox#328 Object 330 Constant object 104289c3e088 (Array) Object 331 Constant function filter (self-hosted:183) at 104289c47970 Object 332 Constant function complex4/< (-e:18) at 104289c63d60 Object 333 Lambda ← FunctionEnvironment#179, Constant#332 Object 334 Constant 0x1 Int32 335 Constant function filter (self-hosted:183) at 104289c47970 Object 336 GuardSpecificFunction ← Constant#331, Constant#335 Object 337 Goto → block 25 Block 25 338 Constant undefined Undefined 339 Constant function ToObject at 104289c6c740 Object 340 DebugCheckSelfHosted ← Constant#339 Value 341 Constant undefined Undefined 342 Constant 0x1 Int32 343 Unbox Phi#275 to Object (fallible) Object 344 Constant function ToLength at 104289c6c778 Object 345 DebugCheckSelfHosted ← Constant#344 Value 346 Constant undefined Undefined 347 GuardShape ← Unbox#343 Object 348 Elements ← GuardShape#347 Elements 349 ArrayLength ← Elements#348 Int32 350 Constant 0x1 Int32 351 Constant 0x0 Int32 352 MinMax ← ArrayLength#349, Constant#351 (max) Int32 353 Constant 0x1 Int32 354 Constant 0x0 Int32 355 Compare ← Constant#353, Constant#354 StrictEq Bool 356 Test ← Compare#355 → block 26, block 27 1 0 Block 26 357 CallGetIntrinsicValue Value 358 DebugCheckSelfHosted ← CallGetIntrinsicValue#357 Value 359 Constant undefined Undefined 360 Constant 0x37 Int32 361 Constant 0x0 Int32 362 Constant string 104289c28540 String 363 Bail 715 Unreachable Block 27 366 Constant function IsCallable at 104289c6c7b0 Object 367 DebugCheckSelfHosted ← Constant#366 Value 368 Constant undefined Undefined 369 Constant 0x1 Int32 370 IsCallable ← Lambda#333 Bool 371 Test ← IsCallable#370 → block 29, block 28 1 0 Block 28 372 CallGetIntrinsicValue Value 373 DebugCheckSelfHosted ← CallGetIntrinsicValue#372 Value 374 Constant undefined Undefined 375 Constant 0xc Int32 376 CallGetIntrinsicValue Value 377 DebugCheckSelfHosted ← CallGetIntrinsicValue#376 Value 378 Constant undefined Undefined 379 Constant 0x0 Int32 380 Bail 714 Unreachable Block 29 385 Constant 0x1 Int32 386 Constant 0x1 Int32 387 Compare ← Constant#385, Constant#386 Gt Bool 388 Test ← Compare#387 → block 30, block 31 1 0 Block 30 389 Constant 0x1 Int32 390 GetInlinedArgument ← Constant#389, Lambda#333 Value 391 Goto → block 32 Block 31 392 Constant undefined Undefined 393 Goto → block 32 Block 32 394 Phi ← Constant#392, GetInlinedArgument#390 Value 395 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 396 DebugCheckSelfHosted ← Constant#395 Value 397 Constant undefined Undefined 398 Constant 0x1 Int32 399 HasShape ← Unbox#343 Bool 400 Test ← HasShape#399 → block 33, block 34 1 0 Block 33 401 Constant shape at 104289c64f00 Shape 402 NewArrayObject ← Constant#401 Object 403 Goto → block 35 Block 34 404 CallGetIntrinsicValue Value 405 DebugCheckSelfHosted ← CallGetIntrinsicValue#404 Value 406 Constant undefined Undefined 407 Constant 0x0 Int32 408 Bail 713 Unreachable Block 35 411 Phi ← NewArrayObject#402 Value 412 Constant 0x0 Int32 413 Constant 0x0 Int32 426 Goto → block 36 Block 36 (loop header) 414 Phi ← Constant#338, Constant#338 Value 415 Phi ← Constant#338, Constant#338 Value 416 Phi ← Phi#275, Phi#275 Value 417 Phi ← Lambda#333, Lambda#333 Value 418 Phi ← Unbox#343, Unbox#343 Value 419 Phi ← MinMax#352, MinMax#352 Value 420 Phi ← Phi#394, Phi#394 Value 421 Phi ← Phi#411, Phi#411 Value 422 Phi ← Constant#412, Add#475 Value 423 Phi ← Constant#413, Phi#471 Value 424 Phi ← Constant#338, Phi#472 Value 425 Phi ← Phi#275, Phi#275 Value 427 InterruptCheck 428 Unbox Phi#422 to Int32 (fallible) Int32 429 Unbox Phi#419 to Int32 (fallible) Int32 430 Compare ← Unbox#428, Unbox#429 Lt Bool 431 Test ← Compare#430 → block 37, block 44 1 0 Block 37 432 Unbox Phi#418 to Object (fallible) Object 433 Unbox Phi#422 to Int32 (fallible) Int32 434 GuardShape ← Unbox#432 Object 435 Elements ← GuardShape#434 Elements 436 InitializedLength ← Elements#435 Int32 437 BoundsCheck ← Unbox#433, InitializedLength#436 Int32 438 SpectreMaskIndex ← BoundsCheck#437, InitializedLength#436 Int32 439 GuardElementNotHole ← Elements#435, SpectreMaskIndex#438 440 Constant true Bool 441 Test ← Constant#440 → block 38, block 42 1 0 Block 38 442 Unbox Phi#418 to Object (fallible) Object 443 Unbox Phi#422 to Int32 (fallible) Int32 444 GuardShape ← Unbox#442 Object 445 Elements ← GuardShape#444 Elements 446 InitializedLength ← Elements#445 Int32 447 BoundsCheck ← Unbox#443, InitializedLength#446 Int32 448 SpectreMaskIndex ← BoundsCheck#447, InitializedLength#446 Int32 449 GuardElementsArePacked ← Elements#445 450 LoadElement ← Elements#445, SpectreMaskIndex#448 Value 451 Constant 0x3 Int32 452 Unbox Phi#417 to Object (fallible) Object 453 GuardToFunction ← Unbox#452 Object 454 GuardFunctionScript ← GuardToFunction#453 Object 455 Goto → block 39 Block 39 456 Constant undefined Undefined 457 Constant 0x32 Int32 458 Unbox LoadElement#450 to Double (fallible) Double 459 Compare ← Unbox#458, Constant#457 Gt Bool 461 Goto → block 40 Block 40 462 Test ← Compare#459 → block 41, block 42 1 0 Block 41 463 Unbox Phi#423 to Int32 (fallible) Int32 464 Constant 0x1 Int32 465 Add ← Unbox#463, Constant#464 [int32] Int32 466 Unbox Phi#421 to Object (fallible) Object 467 GuardShape ← Unbox#466 Object 468 Elements ← GuardShape#467 Elements 469 StoreElementHole ← GuardShape#467, Elements#468, Unbox#463, LoadElement#450 470 Goto → block 42 Block 42 (backedge) 471 Phi ← Add#465, Phi#423, Phi#423 Value 472 Phi ← LoadElement#450, Phi#424, LoadElement#450 Value 473 Unbox Phi#422 to Int32 (fallible) Int32 474 Constant 0x1 Int32 475 Add ← Unbox#473, Constant#474 [int32] Int32 476 Goto → block 36 Block 44 479 Unbox Phi#421 to Object (fallible) Object 480 GuardShape ← Unbox#479 Object 481 Constant object 104289c3e088 (Array) Object 482 Constant function reduce (self-hosted:205) at 104289c479c0 Object 483 Constant function complex4/< (-e:18) at 104289c63d98 Object 484 Lambda ← FunctionEnvironment#179, Constant#483 Object 485 Constant 0x0 Int32 486 Constant 0x2 Int32 487 Constant function reduce (self-hosted:205) at 104289c479c0 Object 488 GuardSpecificFunction ← Constant#482, Constant#487 Object 489 Call ← GuardSpecificFunction#488, Phi#421, Lambda#484, Constant#485 Value 491 Goto → block 45 Block 45 492 Constant object 104289c3f040 (LexicalEnvironment) Object 493 Constant object 104289c3e030 (global) Object 494 Constant function complex5 (-e:21) at 104289c6c900 Object 495 Constant undefined Undefined 496 Constant shape at 104289c64fc0 Shape 497 NewPlainObject ← Constant#496 Object 498 GuardShape ← NewPlainObject#497 Object 499 PostWriteBarrier ← GuardShape#498, Call#112 500 StoreFixedSlot ← GuardShape#498, Call#112 (slot 0) 501 GuardShape ← NewPlainObject#497 Object 502 PostWriteBarrier ← GuardShape#501, BitOr#137 503 StoreFixedSlot ← GuardShape#501, BitOr#137 (slot 1) 504 GuardShape ← NewPlainObject#497 Object 505 PostWriteBarrier ← GuardShape#504, Call#147 506 StoreFixedSlot ← GuardShape#504, Call#147 (slot 2) 507 Constant 0x1 Int32 508 Constant function complex5 (-e:21) at 104289c6c900 Object 509 GuardSpecificFunction ← Constant#494, Constant#508 Object 510 Goto → block 46 Block 46 511 Constant undefined Undefined 512 FunctionEnvironment ← GuardSpecificFunction#509 Object 513 Constant object 104289c3f078 (Call) Object 514 NewCallObject ← Constant#513 Object 515 AssertCanElidePostWriteBarrier ← NewCallObject#514, FunctionEnvironment#512 516 AssertCanElidePostWriteBarrier ← NewCallObject#514, GuardSpecificFunction#509 517 StoreFixedSlot ← NewCallObject#514, FunctionEnvironment#512 (slot 0) 518 StoreFixedSlot ← NewCallObject#514, GuardSpecificFunction#509 (slot 1) 519 PostWriteBarrier ← NewCallObject#514, NewPlainObject#497 520 StoreFixedSlot ← NewCallObject#514, NewPlainObject#497 (slot 2) 521 Constant object 104289c3f040 (LexicalEnvironment) Object 522 Constant object 104289c3e030 (global) Object 523 Constant function Object at 104289c422e0 Object 524 Constant function Object at 104289c422e0 Object 525 GuardObjectIdentity ← Constant#523, Constant#524 Object 526 Constant function keys at 104289c42468 Object 527 LoadFixedSlot ← NewCallObject#514 (slot 2) Value 528 Constant 0x1 Int32 529 Constant function keys at 104289c42468 Object 530 GuardSpecificFunction ← Constant#526, Constant#529 Object 531 Unbox LoadFixedSlot#527 to Object (fallible) Object 532 GuardIsNotProxy ← Unbox#531 Object 533 ObjectKeys ← GuardIsNotProxy#532 Object 534 GuardShape ← ObjectKeys#533 Object 535 Constant object 104289c3e088 (Array) Object 536 Constant function map (self-hosted:163) at 104289c47920 Object 537 Constant function complex5/< (-e:22) at 104289c63e08 Object 538 Lambda ← NewCallObject#514, Constant#537 Object 539 Constant 0x1 Int32 540 Constant function map (self-hosted:163) at 104289c47920 Object 541 GuardSpecificFunction ← Constant#536, Constant#540 Object 542 Goto → block 47 Block 47 543 Constant undefined Undefined 544 Constant function ToObject at 104289c6c740 Object 545 DebugCheckSelfHosted ← Constant#544 Value 546 Constant undefined Undefined 547 Constant 0x1 Int32 548 Constant function ToLength at 104289c6c778 Object 549 DebugCheckSelfHosted ← Constant#548 Value 550 Constant undefined Undefined 551 GuardShape ← ObjectKeys#533 Object 552 Elements ← GuardShape#551 Elements 553 ArrayLength ← Elements#552 Int32 554 Constant 0x1 Int32 555 Constant 0x0 Int32 556 MinMax ← ArrayLength#553, Constant#555 (max) Int32 557 Constant 0x1 Int32 558 Constant 0x0 Int32 559 Compare ← Constant#557, Constant#558 StrictEq Bool 560 Test ← Compare#559 → block 48, block 49 1 0 Block 48 561 CallGetIntrinsicValue Value 562 DebugCheckSelfHosted ← CallGetIntrinsicValue#561 Value 563 Constant undefined Undefined 564 Constant 0x37 Int32 565 Constant 0x0 Int32 566 Constant string 104289c2e080 String 567 Bail 712 Unreachable Block 49 570 Constant function IsCallable at 104289c6c7b0 Object 571 DebugCheckSelfHosted ← Constant#570 Value 572 Constant undefined Undefined 573 Constant 0x1 Int32 574 IsCallable ← Lambda#538 Bool 575 Test ← IsCallable#574 → block 51, block 50 1 0 Block 50 576 CallGetIntrinsicValue Value 577 DebugCheckSelfHosted ← CallGetIntrinsicValue#576 Value 578 Constant undefined Undefined 579 Constant 0xc Int32 580 CallGetIntrinsicValue Value 581 DebugCheckSelfHosted ← CallGetIntrinsicValue#580 Value 582 Constant undefined Undefined 583 Constant 0x0 Int32 584 Bail 711 Unreachable Block 51 589 Constant 0x1 Int32 590 Constant 0x1 Int32 591 Compare ← Constant#589, Constant#590 Gt Bool 592 Test ← Compare#591 → block 52, block 53 1 0 Block 52 593 Constant 0x1 Int32 594 GetInlinedArgument ← Constant#593, Lambda#538 Value 595 Goto → block 54 Block 53 596 Constant undefined Undefined 597 Goto → block 54 Block 54 598 Phi ← Constant#596, GetInlinedArgument#594 Value 599 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 600 DebugCheckSelfHosted ← Constant#599 Value 601 Constant undefined Undefined 602 Constant 0x1 Int32 603 HasShape ← ObjectKeys#533 Bool 604 Test ← HasShape#603 → block 55, block 56 1 0 Block 55 605 Constant function std_Array at 104289c6c820 Object 606 DebugCheckSelfHosted ← Constant#605 Value 607 Constant undefined Undefined 608 Constant 0x1 Int32 609 Unbox DebugCheckSelfHosted#606 to Object (fallible) Object 610 Constant function std_Array at 104289c6c820 Object 611 GuardSpecificFunction ← Unbox#609, Constant#610 Object 612 NewArrayDynamicLength ← MinMax#556 Object 613 Goto → block 57 Block 56 614 CallGetIntrinsicValue Value 615 DebugCheckSelfHosted ← CallGetIntrinsicValue#614 Value 616 Constant undefined Undefined 617 Bail 710 Unreachable Block 57 620 Phi ← NewArrayDynamicLength#612 Value 621 Constant 0x0 Int32 633 Goto → block 58 Block 58 (loop header) 622 Phi ← Constant#543, Constant#543 Value 623 Phi ← Constant#543, Constant#543 Value 624 Phi ← ObjectKeys#533, ObjectKeys#533 Value 625 Phi ← Lambda#538, Lambda#538 Value 626 Phi ← ObjectKeys#533, ObjectKeys#533 Value 627 Phi ← MinMax#556, MinMax#556 Value 628 Phi ← Phi#598, Phi#598 Value 629 Phi ← Phi#620, Phi#620 Value 630 Phi ← Constant#621, Add#679 Value 631 Phi ← Constant#543, Phi#676 Value 632 Phi ← ObjectKeys#533, ObjectKeys#533 Value 634 InterruptCheck 635 Unbox Phi#630 to Int32 (fallible) Int32 636 Unbox Phi#627 to Int32 (fallible) Int32 637 Compare ← Unbox#635, Unbox#636 Lt Bool 638 Test ← Compare#637 → block 59, block 65 1 0 Block 59 639 Unbox Phi#626 to Object (fallible) Object 640 Unbox Phi#630 to Int32 (fallible) Int32 641 GuardShape ← Unbox#639 Object 642 Elements ← GuardShape#641 Elements 643 InitializedLength ← Elements#642 Int32 644 BoundsCheck ← Unbox#640, InitializedLength#643 Int32 645 SpectreMaskIndex ← BoundsCheck#644, InitializedLength#643 Int32 646 GuardElementNotHole ← Elements#642, SpectreMaskIndex#645 647 Constant true Bool 648 Test ← Constant#647 → block 60, block 63 1 0 Block 60 649 Unbox Phi#626 to Object (fallible) Object 650 Unbox Phi#630 to Int32 (fallible) Int32 651 GuardShape ← Unbox#649 Object 652 Elements ← GuardShape#651 Elements 653 InitializedLength ← Elements#652 Int32 654 BoundsCheck ← Unbox#650, InitializedLength#653 Int32 655 SpectreMaskIndex ← BoundsCheck#654, InitializedLength#653 Int32 656 GuardElementsArePacked ← Elements#652 657 LoadElement ← Elements#652, SpectreMaskIndex#655 Value 658 Constant 0x3 Int32 659 Unbox Phi#625 to Object (fallible) Object 660 GuardToFunction ← Unbox#659 Object 661 GuardFunctionScript ← GuardToFunction#660 Object 662 Goto → block 61 Block 61 663 Constant undefined Undefined 664 FunctionEnvironment ← GuardFunctionScript#661 Object 665 LoadFixedSlot ← FunctionEnvironment#664 (slot 2) Value 666 Unbox LoadFixedSlot#665 to Object (fallible) Object 667 MegamorphicLoadSlotByValue ← Unbox#666, LoadElement#657 Value 669 Goto → block 62 Block 62 670 Unbox Phi#629 to Object (fallible) Object 671 Unbox Phi#630 to Int32 (fallible) Int32 672 GuardShape ← Unbox#670 Object 673 Elements ← GuardShape#672 Elements 674 StoreElementHole ← GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667 675 Goto → block 63 Block 63 (backedge) 676 Phi ← MegamorphicLoadSlotByValue#667, Phi#631 Value 677 Unbox Phi#630 to Int32 (fallible) Int32 678 Constant 0x1 Int32 679 Add ← Unbox#677, Constant#678 [int32] Int32 680 Goto → block 58 Block 65 683 Unbox Phi#629 to Object (fallible) Object 684 GuardShape ← Unbox#683 Object 685 Constant object 104289c3e088 (Array) Object 686 Constant function reduce (self-hosted:205) at 104289c479c0 Object 687 Constant function complex5/< (-e:22) at 104289c63e40 Object 688 Lambda ← NewCallObject#514, Constant#687 Object 689 Constant 0x0 Int32 690 Constant 0x2 Int32 691 Constant function reduce (self-hosted:205) at 104289c479c0 Object 692 GuardSpecificFunction ← Constant#686, Constant#691 Object 693 Call ← GuardSpecificFunction#692, Phi#629, Lambda#688, Constant#689 Value 695 Goto → block 66 Block 66 (backedge) 696 Unbox Phi#95 to Int32 (fallible) Int32 697 Constant 0x1 Int32 698 Add ← Unbox#696, Constant#697 [int32] Int32 699 Goto → block 1 Block 67 700 Unbox Phi#88 to Double (fallible) Double 701 Unbox Phi#89 to Double (fallible) Double 702 Add ← Unbox#700, Unbox#701 [double] Double 703 Unbox Phi#90 to Double (fallible) Double 704 Add ← Add#702, Unbox#703 [double] Double 705 Unbox Phi#92 to Double (fallible) Double 706 Add ← Add#704, Unbox#705 [double] Double 707 Unbox Phi#94 to Double (fallible) Double 708 Add ← Add#706, Unbox#707 [double] Double 709 Return ← Add#708
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant magic uninitialized-lexical MagicUninitializedLexical 6 Constant object 104289c3f040 (LexicalEnvironment) Object 7 Constant object 104289c3e030 (global) Object 8 Constant function complex1 (-e:2) at 104289c6c8c8 Object 9 Constant undefined Undefined 10 Constant 0x1 Int32 11 Constant function complex1 (-e:2) at 104289c6c8c8 Object 12 GuardSpecificFunction ← Constant#8, Constant#11 Object 13 Call ← GuardSpecificFunction#12, Constant#9, Parameter#1 Value 14 Constant object 104289c3f040 (LexicalEnvironment) Object 15 Constant object 104289c3e030 (global) Object 16 Constant function complex2 (-e:7) at 104289c6c970 Object 17 Constant undefined Undefined 18 Constant 0x1 Int32 19 Constant function complex2 (-e:7) at 104289c6c970 Object 20 GuardSpecificFunction ← Constant#16, Constant#19 Object 21 Call ← GuardSpecificFunction#20, Constant#17, Parameter#1 Value 22 Constant object 104289c3f040 (LexicalEnvironment) Object 23 Constant object 104289c3e030 (global) Object 24 Constant function complex3 (-e:11) at 104289c6c938 Object 25 Constant undefined Undefined 26 Constant 0x2 Int32 27 Constant function complex3 (-e:11) at 104289c6c938 Object 28 GuardSpecificFunction ← Constant#24, Constant#27 Object 29 Call ← GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13 Value 30 Constant shape at 104289c64f00 Shape 31 NewArrayObject ← Constant#30 Object 32 Constant 0x0 Int32 33 Elements ← NewArrayObject#31 Elements 34 PostWriteBarrier ← NewArrayObject#31, Call#13 35 StoreElement ← Elements#33, Constant#32, Call#13 36 SetInitializedLength ← Elements#33, Constant#32 37 Constant 0x1 Int32 38 Elements ← NewArrayObject#31 Elements 39 PostWriteBarrier ← NewArrayObject#31, Call#21 40 StoreElement ← Elements#38, Constant#37, Call#21 41 SetInitializedLength ← Elements#38, Constant#37 42 Constant 0x2 Int32 43 Elements ← NewArrayObject#31 Elements 44 PostWriteBarrier ← NewArrayObject#31, Call#29 45 StoreElement ← Elements#43, Constant#42, Call#29 46 SetInitializedLength ← Elements#43, Constant#42 47 Constant 0x3 Int32 48 Elements ← NewArrayObject#31 Elements 49 PostWriteBarrier ← NewArrayObject#31, Parameter#1 50 StoreElement ← Elements#48, Constant#47, Parameter#1 51 SetInitializedLength ← Elements#48, Constant#47 52 Constant object 104289c3f040 (LexicalEnvironment) Object 53 Constant object 104289c3e030 (global) Object 54 Constant function complex4 (-e:17) at 104289c6c890 Object 55 Constant undefined Undefined 56 Constant 0x1 Int32 57 Constant function complex4 (-e:17) at 104289c6c890 Object 58 GuardSpecificFunction ← Constant#54, Constant#57 Object 59 Call ← GuardSpecificFunction#58, Constant#55, NewArrayObject#31 Value 60 Constant shape at 104289c64fa0 Shape 61 NewPlainObject ← Constant#60 Object 62 GuardShape ← NewPlainObject#61 Object 63 PostWriteBarrier ← GuardShape#62, Call#13 64 StoreFixedSlot ← GuardShape#62, Call#13 (slot 0) 65 GuardShape ← NewPlainObject#61 Object 66 PostWriteBarrier ← GuardShape#65, Call#21 67 StoreFixedSlot ← GuardShape#65, Call#21 (slot 1) 68 GuardShape ← NewPlainObject#61 Object 69 PostWriteBarrier ← GuardShape#68, Call#29 70 StoreFixedSlot ← GuardShape#68, Call#29 (slot 2) 71 GuardShape ← NewPlainObject#61 Object 72 PostWriteBarrier ← GuardShape#71, Call#59 73 StoreFixedSlot ← GuardShape#71, Call#59 (slot 3) 74 Constant object 104289c3f040 (LexicalEnvironment) Object 75 Constant object 104289c3e030 (global) Object 76 Constant function complex5 (-e:21) at 104289c6c900 Object 77 Constant undefined Undefined 78 Constant 0x1 Int32 79 Constant function complex5 (-e:21) at 104289c6c900 Object 80 GuardSpecificFunction ← Constant#76, Constant#79 Object 81 Call ← GuardSpecificFunction#80, Constant#77, NewPlainObject#61 Value 82 Constant magic uninitialized-lexical MagicUninitializedLexical 83 Constant 0x0 Int32 96 Goto → block 1 Block 1 (loop header) 84 Phi ← Constant#2, Constant#2 Value 85 Phi ← Constant#2, Constant#2 Value 86 Phi ← Parameter#0, Parameter#0 Value 87 Phi ← Parameter#1, Parameter#1 Value 88 Phi ← Call#13, Call#112 Value 89 Phi ← Call#21, BitOr#137 Value 90 Phi ← Call#29, Call#147 Value 91 Phi ← NewArrayObject#31, NewArrayObject#31 Value 92 Phi ← Call#59, Call#489 Value 93 Phi ← NewPlainObject#61, NewPlainObject#61 Value 94 Phi ← Call#81, Call#693 Value 95 Phi ← Constant#83, Add#698 Value 97 InterruptCheck 98 Constant 0xa Int32 99 Unbox Phi#95 to Int32 (fallible) Int32 100 Compare ← Unbox#99, Constant#98 Lt Bool 101 Test ← Compare#100 → block 2, block 67 1 0 Block 2 102 Constant object 104289c3f040 (LexicalEnvironment) Object 103 Constant object 104289c3e030 (global) Object 104 Constant function complex1 (-e:2) at 104289c6c8c8 Object 105 Constant undefined Undefined 106 Unbox Phi#88 to Double (fallible) Double 107 Unbox Phi#95 to Double (fallible) Double 108 Add ← Unbox#106, Unbox#107 [double] Double 109 Constant 0x1 Int32 110 Constant function complex1 (-e:2) at 104289c6c8c8 Object 111 GuardSpecificFunction ← Constant#104, Constant#110 Object 112 Call ← GuardSpecificFunction#111, Constant#105, Add#108 Value 113 Constant object 104289c3f040 (LexicalEnvironment) Object 114 Constant object 104289c3e030 (global) Object 115 Constant function complex2 (-e:7) at 104289c6c970 Object 116 Constant undefined Undefined 117 Unbox Phi#89 to Int32 (fallible) Int32 118 Unbox Phi#95 to Int32 (fallible) Int32 119 Add ← Unbox#117, Unbox#118 [int32] Int32 120 Constant 0x1 Int32 121 Constant function complex2 (-e:7) at 104289c6c970 Object 122 GuardSpecificFunction ← Constant#115, Constant#121 Object 123 Goto → block 3 Block 3 124 Constant undefined Undefined 125 Constant 0x1 Int32 126 Lsh ← Add#119, Constant#125 Int32 127 Constant 0x1 Int32 128 Rsh ← Add#119, Constant#127 Int32 129 Constant 0xff Int32 130 BitAnd ← Add#119, Constant#129 Int32 131 Constant 0x2 Int32 132 Ursh ← Add#119, Constant#131 Int32 133 Add ← BitAnd#130, Ursh#132 [int32] Int32 134 BitNot ← Add#119 Int32 135 Sub ← Add#133, BitNot#134 [int32] Int32 136 BitXor ← Rsh#128, Sub#135 Int32 137 BitOr ← Lsh#126, BitXor#136 Int32 139 Goto → block 4 Block 4 140 Constant object 104289c3f040 (LexicalEnvironment) Object 141 Constant object 104289c3e030 (global) Object 142 Constant function complex3 (-e:11) at 104289c6c938 Object 143 Constant undefined Undefined 144 Constant 0x2 Int32 145 Constant function complex3 (-e:11) at 104289c6c938 Object 146 GuardSpecificFunction ← Constant#142, Constant#145 Object 147 Call ← GuardSpecificFunction#146, Constant#143, Phi#90, Call#112 Value 148 Constant object 104289c3f040 (LexicalEnvironment) Object 149 Constant object 104289c3e030 (global) Object 150 Constant function complex4 (-e:17) at 104289c6c890 Object 151 Constant undefined Undefined 152 Constant shape at 104289c64f00 Shape 153 NewArrayObject ← Constant#152 Object 154 Constant 0x0 Int32 155 Elements ← NewArrayObject#153 Elements 156 PostWriteBarrier ← NewArrayObject#153, Call#112 157 StoreElement ← Elements#155, Constant#154, Call#112 158 SetInitializedLength ← Elements#155, Constant#154 159 Constant 0x1 Int32 160 Elements ← NewArrayObject#153 Elements 161 PostWriteBarrier ← NewArrayObject#153, BitOr#137 162 StoreElement ← Elements#160, Constant#159, BitOr#137 163 SetInitializedLength ← Elements#160, Constant#159 164 Constant 0x2 Int32 165 Elements ← NewArrayObject#153 Elements 166 PostWriteBarrier ← NewArrayObject#153, Call#147 167 StoreElement ← Elements#165, Constant#164, Call#147 168 SetInitializedLength ← Elements#165, Constant#164 169 Constant 0x3 Int32 170 Elements ← NewArrayObject#153 Elements 171 PostWriteBarrier ← NewArrayObject#153, Phi#95 172 StoreElement ← Elements#170, Constant#169, Phi#95 173 SetInitializedLength ← Elements#170, Constant#169 174 Constant 0x1 Int32 175 Constant function complex4 (-e:17) at 104289c6c890 Object 176 GuardSpecificFunction ← Constant#150, Constant#175 Object 177 Goto → block 5 Block 5 178 Constant undefined Undefined 179 FunctionEnvironment ← GuardSpecificFunction#176 Object 180 GuardShape ← NewArrayObject#153 Object 181 Constant object 104289c3e088 (Array) Object 182 Constant function map (self-hosted:163) at 104289c47920 Object 183 Constant function complex4/< (-e:18) at 104289c63d28 Object 184 Lambda ← FunctionEnvironment#179, Constant#183 Object 185 Constant 0x1 Int32 186 Constant function map (self-hosted:163) at 104289c47920 Object 187 GuardSpecificFunction ← Constant#182, Constant#186 Object 188 Goto → block 6 Block 6 189 Constant undefined Undefined 190 Constant function ToObject at 104289c6c740 Object 191 DebugCheckSelfHosted ← Constant#190 Value 192 Constant undefined Undefined 193 Constant 0x1 Int32 194 Constant function ToLength at 104289c6c778 Object 195 DebugCheckSelfHosted ← Constant#194 Value 196 Constant undefined Undefined 197 GuardShape ← NewArrayObject#153 Object 198 Elements ← GuardShape#197 Elements 199 ArrayLength ← Elements#198 Int32 200 Constant 0x1 Int32 201 Constant 0x0 Int32 202 MinMax ← ArrayLength#199, Constant#201 (max) Int32 203 Constant 0x1 Int32 204 Constant 0x0 Int32 205 Compare ← Constant#203, Constant#204 StrictEq Bool 206 Test ← Compare#205 → block 7, block 8 1 0 Block 7 207 CallGetIntrinsicValue Value 208 DebugCheckSelfHosted ← CallGetIntrinsicValue#207 Value 209 Constant undefined Undefined 210 Constant 0x37 Int32 211 Constant 0x0 Int32 212 Constant string 104289c2e080 String 213 Bail 718 Unreachable Block 8 216 Constant function IsCallable at 104289c6c7b0 Object 217 DebugCheckSelfHosted ← Constant#216 Value 218 Constant undefined Undefined 219 Constant 0x1 Int32 220 IsCallable ← Lambda#184 Bool 221 Test ← IsCallable#220 → block 10, block 9 1 0 Block 9 222 CallGetIntrinsicValue Value 223 DebugCheckSelfHosted ← CallGetIntrinsicValue#222 Value 224 Constant undefined Undefined 225 Constant 0xc Int32 226 CallGetIntrinsicValue Value 227 DebugCheckSelfHosted ← CallGetIntrinsicValue#226 Value 228 Constant undefined Undefined 229 Constant 0x0 Int32 230 Bail 717 Unreachable Block 10 235 Constant 0x1 Int32 236 Constant 0x1 Int32 237 Compare ← Constant#235, Constant#236 Gt Bool 238 Test ← Compare#237 → block 11, block 12 1 0 Block 11 239 Constant 0x1 Int32 240 GetInlinedArgument ← Constant#239, Lambda#184 Value 241 Goto → block 13 Block 12 242 Constant undefined Undefined 243 Goto → block 13 Block 13 244 Phi ← Constant#242, GetInlinedArgument#240 Value 245 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 246 DebugCheckSelfHosted ← Constant#245 Value 247 Constant undefined Undefined 248 Constant 0x1 Int32 249 HasShape ← NewArrayObject#153 Bool 250 Test ← HasShape#249 → block 14, block 15 1 0 Block 14 251 Constant function std_Array at 104289c6c820 Object 252 DebugCheckSelfHosted ← Constant#251 Value 253 Constant undefined Undefined 254 Constant 0x1 Int32 255 Unbox DebugCheckSelfHosted#252 to Object (fallible) Object 256 Constant function std_Array at 104289c6c820 Object 257 GuardSpecificFunction ← Unbox#255, Constant#256 Object 258 NewArrayDynamicLength ← MinMax#202 Object 259 Goto → block 16 Block 15 260 CallGetIntrinsicValue Value 261 DebugCheckSelfHosted ← CallGetIntrinsicValue#260 Value 262 Constant undefined Undefined 263 Bail 716 Unreachable Block 16 266 Phi ← NewArrayDynamicLength#258 Value 267 Constant 0x0 Int32 279 Goto → block 17 Block 17 (loop header) 268 Phi ← Constant#189, Constant#189 Value 269 Phi ← Constant#189, Constant#189 Value 270 Phi ← NewArrayObject#153, NewArrayObject#153 Value 271 Phi ← Lambda#184, Lambda#184 Value 272 Phi ← NewArrayObject#153, NewArrayObject#153 Value 273 Phi ← MinMax#202, MinMax#202 Value 274 Phi ← Phi#244, Phi#244 Value 275 Phi ← Phi#266, Phi#266 Value 276 Phi ← Constant#267, Add#324 Value 277 Phi ← Constant#189, Phi#321 Value 278 Phi ← NewArrayObject#153, NewArrayObject#153 Value 280 InterruptCheck 281 Unbox Phi#276 to Int32 (fallible) Int32 282 Unbox Phi#273 to Int32 (fallible) Int32 283 Compare ← Unbox#281, Unbox#282 Lt Bool 284 Test ← Compare#283 → block 18, block 24 1 0 Block 18 285 Unbox Phi#272 to Object (fallible) Object 286 Unbox Phi#276 to Int32 (fallible) Int32 287 GuardShape ← Unbox#285 Object 288 Elements ← GuardShape#287 Elements 289 InitializedLength ← Elements#288 Int32 290 BoundsCheck ← Unbox#286, InitializedLength#289 Int32 291 SpectreMaskIndex ← BoundsCheck#290, InitializedLength#289 Int32 292 GuardElementNotHole ← Elements#288, SpectreMaskIndex#291 293 Constant true Bool 294 Test ← Constant#293 → block 19, block 22 1 0 Block 19 295 Unbox Phi#272 to Object (fallible) Object 296 Unbox Phi#276 to Int32 (fallible) Int32 297 GuardShape ← Unbox#295 Object 298 Elements ← GuardShape#297 Elements 299 InitializedLength ← Elements#298 Int32 300 BoundsCheck ← Unbox#296, InitializedLength#299 Int32 301 SpectreMaskIndex ← BoundsCheck#300, InitializedLength#299 Int32 302 GuardElementsArePacked ← Elements#298 303 LoadElement ← Elements#298, SpectreMaskIndex#301 Value 304 Constant 0x3 Int32 305 Unbox Phi#271 to Object (fallible) Object 306 GuardToFunction ← Unbox#305 Object 307 GuardFunctionScript ← GuardToFunction#306 Object 308 Goto → block 20 Block 20 309 Constant undefined Undefined 310 Constant 0x2 Int32 311 Unbox LoadElement#303 to Double (fallible) Double 312 Mul ← Unbox#311, Constant#310 [double] Double 314 Goto → block 21 Block 21 315 Unbox Phi#275 to Object (fallible) Object 316 Unbox Phi#276 to Int32 (fallible) Int32 317 GuardShape ← Unbox#315 Object 318 Elements ← GuardShape#317 Elements 319 StoreElementHole ← GuardShape#317, Elements#318, Unbox#316, Mul#312 320 Goto → block 22 Block 22 (backedge) 321 Phi ← Mul#312, Phi#277 Value 322 Unbox Phi#276 to Int32 (fallible) Int32 323 Constant 0x1 Int32 324 Add ← Unbox#322, Constant#323 [int32] Int32 325 Goto → block 17 Block 24 328 Unbox Phi#275 to Object (fallible) Object 329 GuardShape ← Unbox#328 Object 330 Constant object 104289c3e088 (Array) Object 331 Constant function filter (self-hosted:183) at 104289c47970 Object 332 Constant function complex4/< (-e:18) at 104289c63d60 Object 333 Lambda ← FunctionEnvironment#179, Constant#332 Object 334 Constant 0x1 Int32 335 Constant function filter (self-hosted:183) at 104289c47970 Object 336 GuardSpecificFunction ← Constant#331, Constant#335 Object 337 Goto → block 25 Block 25 338 Constant undefined Undefined 339 Constant function ToObject at 104289c6c740 Object 340 DebugCheckSelfHosted ← Constant#339 Value 341 Constant undefined Undefined 342 Constant 0x1 Int32 343 Unbox Phi#275 to Object (fallible) Object 344 Constant function ToLength at 104289c6c778 Object 345 DebugCheckSelfHosted ← Constant#344 Value 346 Constant undefined Undefined 347 GuardShape ← Unbox#343 Object 348 Elements ← GuardShape#347 Elements 349 ArrayLength ← Elements#348 Int32 350 Constant 0x1 Int32 351 Constant 0x0 Int32 352 MinMax ← ArrayLength#349, Constant#351 (max) Int32 353 Constant 0x1 Int32 354 Constant 0x0 Int32 355 Compare ← Constant#353, Constant#354 StrictEq Bool 356 Test ← Compare#355 → block 26, block 27 1 0 Block 26 357 CallGetIntrinsicValue Value 358 DebugCheckSelfHosted ← CallGetIntrinsicValue#357 Value 359 Constant undefined Undefined 360 Constant 0x37 Int32 361 Constant 0x0 Int32 362 Constant string 104289c28540 String 363 Bail 715 Unreachable Block 27 366 Constant function IsCallable at 104289c6c7b0 Object 367 DebugCheckSelfHosted ← Constant#366 Value 368 Constant undefined Undefined 369 Constant 0x1 Int32 370 IsCallable ← Lambda#333 Bool 371 Test ← IsCallable#370 → block 29, block 28 1 0 Block 28 372 CallGetIntrinsicValue Value 373 DebugCheckSelfHosted ← CallGetIntrinsicValue#372 Value 374 Constant undefined Undefined 375 Constant 0xc Int32 376 CallGetIntrinsicValue Value 377 DebugCheckSelfHosted ← CallGetIntrinsicValue#376 Value 378 Constant undefined Undefined 379 Constant 0x0 Int32 380 Bail 714 Unreachable Block 29 385 Constant 0x1 Int32 386 Constant 0x1 Int32 387 Compare ← Constant#385, Constant#386 Gt Bool 388 Test ← Compare#387 → block 30, block 31 1 0 Block 30 389 Constant 0x1 Int32 390 GetInlinedArgument ← Constant#389, Lambda#333 Value 391 Goto → block 32 Block 31 392 Constant undefined Undefined 393 Goto → block 32 Block 32 394 Phi ← Constant#392, GetInlinedArgument#390 Value 395 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 396 DebugCheckSelfHosted ← Constant#395 Value 397 Constant undefined Undefined 398 Constant 0x1 Int32 399 HasShape ← Unbox#343 Bool 400 Test ← HasShape#399 → block 33, block 34 1 0 Block 33 401 Constant shape at 104289c64f00 Shape 402 NewArrayObject ← Constant#401 Object 403 Goto → block 35 Block 34 404 CallGetIntrinsicValue Value 405 DebugCheckSelfHosted ← CallGetIntrinsicValue#404 Value 406 Constant undefined Undefined 407 Constant 0x0 Int32 408 Bail 713 Unreachable Block 35 411 Phi ← NewArrayObject#402 Value 412 Constant 0x0 Int32 413 Constant 0x0 Int32 426 Goto → block 36 Block 36 (loop header) 414 Phi ← Constant#338, Constant#338 Value 415 Phi ← Constant#338, Constant#338 Value 416 Phi ← Phi#275, Phi#275 Value 417 Phi ← Lambda#333, Lambda#333 Value 418 Phi ← Unbox#343, Unbox#343 Value 419 Phi ← MinMax#352, MinMax#352 Value 420 Phi ← Phi#394, Phi#394 Value 421 Phi ← Phi#411, Phi#411 Value 422 Phi ← Constant#412, Add#475 Value 423 Phi ← Constant#413, Phi#471 Value 424 Phi ← Constant#338, Phi#472 Value 425 Phi ← Phi#275, Phi#275 Value 427 InterruptCheck 428 Unbox Phi#422 to Int32 (fallible) Int32 429 Unbox Phi#419 to Int32 (fallible) Int32 430 Compare ← Unbox#428, Unbox#429 Lt Bool 431 Test ← Compare#430 → block 37, block 44 1 0 Block 37 432 Unbox Phi#418 to Object (fallible) Object 433 Unbox Phi#422 to Int32 (fallible) Int32 434 GuardShape ← Unbox#432 Object 435 Elements ← GuardShape#434 Elements 436 InitializedLength ← Elements#435 Int32 437 BoundsCheck ← Unbox#433, InitializedLength#436 Int32 438 SpectreMaskIndex ← BoundsCheck#437, InitializedLength#436 Int32 439 GuardElementNotHole ← Elements#435, SpectreMaskIndex#438 440 Constant true Bool 441 Test ← Constant#440 → block 38, block 42 1 0 Block 38 442 Unbox Phi#418 to Object (fallible) Object 443 Unbox Phi#422 to Int32 (fallible) Int32 444 GuardShape ← Unbox#442 Object 445 Elements ← GuardShape#444 Elements 446 InitializedLength ← Elements#445 Int32 447 BoundsCheck ← Unbox#443, InitializedLength#446 Int32 448 SpectreMaskIndex ← BoundsCheck#447, InitializedLength#446 Int32 449 GuardElementsArePacked ← Elements#445 450 LoadElement ← Elements#445, SpectreMaskIndex#448 Value 451 Constant 0x3 Int32 452 Unbox Phi#417 to Object (fallible) Object 453 GuardToFunction ← Unbox#452 Object 454 GuardFunctionScript ← GuardToFunction#453 Object 455 Goto → block 39 Block 39 456 Constant undefined Undefined 457 Constant 0x32 Int32 458 Unbox LoadElement#450 to Double (fallible) Double 459 Compare ← Unbox#458, Constant#457 Gt Bool 461 Goto → block 40 Block 40 462 Test ← Compare#459 → block 41, block 42 1 0 Block 41 463 Unbox Phi#423 to Int32 (fallible) Int32 464 Constant 0x1 Int32 465 Add ← Unbox#463, Constant#464 [int32] Int32 466 Unbox Phi#421 to Object (fallible) Object 467 GuardShape ← Unbox#466 Object 468 Elements ← GuardShape#467 Elements 469 StoreElementHole ← GuardShape#467, Elements#468, Unbox#463, LoadElement#450 470 Goto → block 42 Block 42 (backedge) 471 Phi ← Add#465, Phi#423, Phi#423 Value 472 Phi ← LoadElement#450, Phi#424, LoadElement#450 Value 473 Unbox Phi#422 to Int32 (fallible) Int32 474 Constant 0x1 Int32 475 Add ← Unbox#473, Constant#474 [int32] Int32 476 Goto → block 36 Block 44 479 Unbox Phi#421 to Object (fallible) Object 480 GuardShape ← Unbox#479 Object 481 Constant object 104289c3e088 (Array) Object 482 Constant function reduce (self-hosted:205) at 104289c479c0 Object 483 Constant function complex4/< (-e:18) at 104289c63d98 Object 484 Lambda ← FunctionEnvironment#179, Constant#483 Object 485 Constant 0x0 Int32 486 Constant 0x2 Int32 487 Constant function reduce (self-hosted:205) at 104289c479c0 Object 488 GuardSpecificFunction ← Constant#482, Constant#487 Object 489 Call ← GuardSpecificFunction#488, Phi#421, Lambda#484, Constant#485 Value 491 Goto → block 45 Block 45 492 Constant object 104289c3f040 (LexicalEnvironment) Object 493 Constant object 104289c3e030 (global) Object 494 Constant function complex5 (-e:21) at 104289c6c900 Object 495 Constant undefined Undefined 496 Constant shape at 104289c64fc0 Shape 497 NewPlainObject ← Constant#496 Object 498 GuardShape ← NewPlainObject#497 Object 499 PostWriteBarrier ← GuardShape#498, Call#112 500 StoreFixedSlot ← GuardShape#498, Call#112 (slot 0) 501 GuardShape ← NewPlainObject#497 Object 502 PostWriteBarrier ← GuardShape#501, BitOr#137 503 StoreFixedSlot ← GuardShape#501, BitOr#137 (slot 1) 504 GuardShape ← NewPlainObject#497 Object 505 PostWriteBarrier ← GuardShape#504, Call#147 506 StoreFixedSlot ← GuardShape#504, Call#147 (slot 2) 507 Constant 0x1 Int32 508 Constant function complex5 (-e:21) at 104289c6c900 Object 509 GuardSpecificFunction ← Constant#494, Constant#508 Object 510 Goto → block 46 Block 46 511 Constant undefined Undefined 512 FunctionEnvironment ← GuardSpecificFunction#509 Object 513 Constant object 104289c3f078 (Call) Object 514 NewCallObject ← Constant#513 Object 515 AssertCanElidePostWriteBarrier ← NewCallObject#514, FunctionEnvironment#512 516 AssertCanElidePostWriteBarrier ← NewCallObject#514, GuardSpecificFunction#509 517 StoreFixedSlot ← NewCallObject#514, FunctionEnvironment#512 (slot 0) 518 StoreFixedSlot ← NewCallObject#514, GuardSpecificFunction#509 (slot 1) 519 PostWriteBarrier ← NewCallObject#514, NewPlainObject#497 520 StoreFixedSlot ← NewCallObject#514, NewPlainObject#497 (slot 2) 521 Constant object 104289c3f040 (LexicalEnvironment) Object 522 Constant object 104289c3e030 (global) Object 523 Constant function Object at 104289c422e0 Object 524 Constant function Object at 104289c422e0 Object 525 GuardObjectIdentity ← Constant#523, Constant#524 Object 526 Constant function keys at 104289c42468 Object 527 LoadFixedSlot ← NewCallObject#514 (slot 2) Value 528 Constant 0x1 Int32 529 Constant function keys at 104289c42468 Object 530 GuardSpecificFunction ← Constant#526, Constant#529 Object 531 Unbox LoadFixedSlot#527 to Object (fallible) Object 532 GuardIsNotProxy ← Unbox#531 Object 533 ObjectKeys ← GuardIsNotProxy#532 Object 534 GuardShape ← ObjectKeys#533 Object 535 Constant object 104289c3e088 (Array) Object 536 Constant function map (self-hosted:163) at 104289c47920 Object 537 Constant function complex5/< (-e:22) at 104289c63e08 Object 538 Lambda ← NewCallObject#514, Constant#537 Object 539 Constant 0x1 Int32 540 Constant function map (self-hosted:163) at 104289c47920 Object 541 GuardSpecificFunction ← Constant#536, Constant#540 Object 542 Goto → block 47 Block 47 543 Constant undefined Undefined 544 Constant function ToObject at 104289c6c740 Object 545 DebugCheckSelfHosted ← Constant#544 Value 546 Constant undefined Undefined 547 Constant 0x1 Int32 548 Constant function ToLength at 104289c6c778 Object 549 DebugCheckSelfHosted ← Constant#548 Value 550 Constant undefined Undefined 551 GuardShape ← ObjectKeys#533 Object 552 Elements ← GuardShape#551 Elements 553 ArrayLength ← Elements#552 Int32 554 Constant 0x1 Int32 555 Constant 0x0 Int32 556 MinMax ← ArrayLength#553, Constant#555 (max) Int32 557 Constant 0x1 Int32 558 Constant 0x0 Int32 559 Compare ← Constant#557, Constant#558 StrictEq Bool 560 Test ← Compare#559 → block 48, block 49 1 0 Block 48 561 CallGetIntrinsicValue Value 562 DebugCheckSelfHosted ← CallGetIntrinsicValue#561 Value 563 Constant undefined Undefined 564 Constant 0x37 Int32 565 Constant 0x0 Int32 566 Constant string 104289c2e080 String 567 Bail 712 Unreachable Block 49 570 Constant function IsCallable at 104289c6c7b0 Object 571 DebugCheckSelfHosted ← Constant#570 Value 572 Constant undefined Undefined 573 Constant 0x1 Int32 574 IsCallable ← Lambda#538 Bool 575 Test ← IsCallable#574 → block 51, block 50 1 0 Block 50 576 CallGetIntrinsicValue Value 577 DebugCheckSelfHosted ← CallGetIntrinsicValue#576 Value 578 Constant undefined Undefined 579 Constant 0xc Int32 580 CallGetIntrinsicValue Value 581 DebugCheckSelfHosted ← CallGetIntrinsicValue#580 Value 582 Constant undefined Undefined 583 Constant 0x0 Int32 584 Bail 711 Unreachable Block 51 589 Constant 0x1 Int32 590 Constant 0x1 Int32 591 Compare ← Constant#589, Constant#590 Gt Bool 592 Test ← Compare#591 → block 52, block 53 1 0 Block 52 593 Constant 0x1 Int32 594 GetInlinedArgument ← Constant#593, Lambda#538 Value 595 Goto → block 54 Block 53 596 Constant undefined Undefined 597 Goto → block 54 Block 54 598 Phi ← Constant#596, GetInlinedArgument#594 Value 599 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 600 DebugCheckSelfHosted ← Constant#599 Value 601 Constant undefined Undefined 602 Constant 0x1 Int32 603 HasShape ← ObjectKeys#533 Bool 604 Test ← HasShape#603 → block 55, block 56 1 0 Block 55 605 Constant function std_Array at 104289c6c820 Object 606 DebugCheckSelfHosted ← Constant#605 Value 607 Constant undefined Undefined 608 Constant 0x1 Int32 609 Unbox DebugCheckSelfHosted#606 to Object (fallible) Object 610 Constant function std_Array at 104289c6c820 Object 611 GuardSpecificFunction ← Unbox#609, Constant#610 Object 612 NewArrayDynamicLength ← MinMax#556 Object 613 Goto → block 57 Block 56 614 CallGetIntrinsicValue Value 615 DebugCheckSelfHosted ← CallGetIntrinsicValue#614 Value 616 Constant undefined Undefined 617 Bail 710 Unreachable Block 57 620 Phi ← NewArrayDynamicLength#612 Value 621 Constant 0x0 Int32 633 Goto → block 58 Block 58 (loop header) 622 Phi ← Constant#543, Constant#543 Value 623 Phi ← Constant#543, Constant#543 Value 624 Phi ← ObjectKeys#533, ObjectKeys#533 Value 625 Phi ← Lambda#538, Lambda#538 Value 626 Phi ← ObjectKeys#533, ObjectKeys#533 Value 627 Phi ← MinMax#556, MinMax#556 Value 628 Phi ← Phi#598, Phi#598 Value 629 Phi ← Phi#620, Phi#620 Value 630 Phi ← Constant#621, Add#679 Value 631 Phi ← Constant#543, Phi#676 Value 632 Phi ← ObjectKeys#533, ObjectKeys#533 Value 634 InterruptCheck 635 Unbox Phi#630 to Int32 (fallible) Int32 636 Unbox Phi#627 to Int32 (fallible) Int32 637 Compare ← Unbox#635, Unbox#636 Lt Bool 638 Test ← Compare#637 → block 59, block 65 1 0 Block 59 639 Unbox Phi#626 to Object (fallible) Object 640 Unbox Phi#630 to Int32 (fallible) Int32 641 GuardShape ← Unbox#639 Object 642 Elements ← GuardShape#641 Elements 643 InitializedLength ← Elements#642 Int32 644 BoundsCheck ← Unbox#640, InitializedLength#643 Int32 645 SpectreMaskIndex ← BoundsCheck#644, InitializedLength#643 Int32 646 GuardElementNotHole ← Elements#642, SpectreMaskIndex#645 647 Constant true Bool 648 Test ← Constant#647 → block 60, block 63 1 0 Block 60 649 Unbox Phi#626 to Object (fallible) Object 650 Unbox Phi#630 to Int32 (fallible) Int32 651 GuardShape ← Unbox#649 Object 652 Elements ← GuardShape#651 Elements 653 InitializedLength ← Elements#652 Int32 654 BoundsCheck ← Unbox#650, InitializedLength#653 Int32 655 SpectreMaskIndex ← BoundsCheck#654, InitializedLength#653 Int32 656 GuardElementsArePacked ← Elements#652 657 LoadElement ← Elements#652, SpectreMaskIndex#655 Value 658 Constant 0x3 Int32 659 Unbox Phi#625 to Object (fallible) Object 660 GuardToFunction ← Unbox#659 Object 661 GuardFunctionScript ← GuardToFunction#660 Object 662 Goto → block 61 Block 61 663 Constant undefined Undefined 664 FunctionEnvironment ← GuardFunctionScript#661 Object 665 LoadFixedSlot ← FunctionEnvironment#664 (slot 2) Value 666 Unbox LoadFixedSlot#665 to Object (fallible) Object 667 MegamorphicLoadSlotByValue ← Unbox#666, LoadElement#657 Value 669 Goto → block 62 Block 62 670 Unbox Phi#629 to Object (fallible) Object 671 Unbox Phi#630 to Int32 (fallible) Int32 672 GuardShape ← Unbox#670 Object 673 Elements ← GuardShape#672 Elements 674 StoreElementHole ← GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667 675 Goto → block 63 Block 63 (backedge) 676 Phi ← MegamorphicLoadSlotByValue#667, Phi#631 Value 677 Unbox Phi#630 to Int32 (fallible) Int32 678 Constant 0x1 Int32 679 Add ← Unbox#677, Constant#678 [int32] Int32 680 Goto → block 58 Block 65 683 Unbox Phi#629 to Object (fallible) Object 684 GuardShape ← Unbox#683 Object 685 Constant object 104289c3e088 (Array) Object 686 Constant function reduce (self-hosted:205) at 104289c479c0 Object 687 Constant function complex5/< (-e:22) at 104289c63e40 Object 688 Lambda ← NewCallObject#514, Constant#687 Object 689 Constant 0x0 Int32 690 Constant 0x2 Int32 691 Constant function reduce (self-hosted:205) at 104289c479c0 Object 692 GuardSpecificFunction ← Constant#686, Constant#691 Object 693 Call ← GuardSpecificFunction#692, Phi#629, Lambda#688, Constant#689 Value 695 Goto → block 66 Block 66 (backedge) 696 Unbox Phi#95 to Int32 (fallible) Int32 697 Constant 0x1 Int32 698 Add ← Unbox#696, Constant#697 [int32] Int32 699 Goto → block 1 Block 67 700 Unbox Phi#88 to Double (fallible) Double 701 Unbox Phi#89 to Double (fallible) Double 702 Add ← Unbox#700, Unbox#701 [double] Double 703 Unbox Phi#90 to Double (fallible) Double 704 Add ← Add#702, Unbox#703 [double] Double 705 Unbox Phi#92 to Double (fallible) Double 706 Add ← Add#704, Unbox#705 [double] Double 707 Unbox Phi#94 to Double (fallible) Double 708 Add ← Add#706, Unbox#707 [double] Double 709 Return ← Add#708
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant magic uninitialized-lexical MagicUninitializedLexical 6 Constant object 104289c3f040 (LexicalEnvironment) Object 7 Constant object 104289c3e030 (global) Object 8 Constant function complex1 (-e:2) at 104289c6c8c8 Object 9 Constant undefined Undefined 10 Constant 0x1 Int32 11 Constant function complex1 (-e:2) at 104289c6c8c8 Object 12 GuardSpecificFunction ← Constant#8, Constant#11 Object 13 Call ← GuardSpecificFunction#12, Constant#9, Parameter#1 Value 14 Constant object 104289c3f040 (LexicalEnvironment) Object 15 Constant object 104289c3e030 (global) Object 16 Constant function complex2 (-e:7) at 104289c6c970 Object 17 Constant undefined Undefined 18 Constant 0x1 Int32 19 Constant function complex2 (-e:7) at 104289c6c970 Object 20 GuardSpecificFunction ← Constant#16, Constant#19 Object 21 Call ← GuardSpecificFunction#20, Constant#17, Parameter#1 Value 22 Constant object 104289c3f040 (LexicalEnvironment) Object 23 Constant object 104289c3e030 (global) Object 24 Constant function complex3 (-e:11) at 104289c6c938 Object 25 Constant undefined Undefined 26 Constant 0x2 Int32 27 Constant function complex3 (-e:11) at 104289c6c938 Object 28 GuardSpecificFunction ← Constant#24, Constant#27 Object 29 Call ← GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13 Value 30 Constant shape at 104289c64f00 Shape 31 NewArrayObject ← Constant#30 Object 32 Constant 0x0 Int32 33 Elements ← NewArrayObject#31 Elements 34 PostWriteBarrier ← NewArrayObject#31, Call#13 35 StoreElement ← Elements#33, Constant#32, Call#13 36 SetInitializedLength ← Elements#33, Constant#32 37 Constant 0x1 Int32 38 Elements ← NewArrayObject#31 Elements 39 PostWriteBarrier ← NewArrayObject#31, Call#21 40 StoreElement ← Elements#38, Constant#37, Call#21 41 SetInitializedLength ← Elements#38, Constant#37 42 Constant 0x2 Int32 43 Elements ← NewArrayObject#31 Elements 44 PostWriteBarrier ← NewArrayObject#31, Call#29 45 StoreElement ← Elements#43, Constant#42, Call#29 46 SetInitializedLength ← Elements#43, Constant#42 47 Constant 0x3 Int32 48 Elements ← NewArrayObject#31 Elements 49 PostWriteBarrier ← NewArrayObject#31, Parameter#1 50 StoreElement ← Elements#48, Constant#47, Parameter#1 51 SetInitializedLength ← Elements#48, Constant#47 52 Constant object 104289c3f040 (LexicalEnvironment) Object 53 Constant object 104289c3e030 (global) Object 54 Constant function complex4 (-e:17) at 104289c6c890 Object 55 Constant undefined Undefined 56 Constant 0x1 Int32 57 Constant function complex4 (-e:17) at 104289c6c890 Object 58 GuardSpecificFunction ← Constant#54, Constant#57 Object 59 Call ← GuardSpecificFunction#58, Constant#55, NewArrayObject#31 Value 60 Constant shape at 104289c64fa0 Shape 61 NewPlainObject ← Constant#60 Object 62 GuardShape ← NewPlainObject#61 Object 63 PostWriteBarrier ← GuardShape#62, Call#13 64 StoreFixedSlot ← GuardShape#62, Call#13 (slot 0) 65 GuardShape ← NewPlainObject#61 Object 66 PostWriteBarrier ← GuardShape#65, Call#21 67 StoreFixedSlot ← GuardShape#65, Call#21 (slot 1) 68 GuardShape ← NewPlainObject#61 Object 69 PostWriteBarrier ← GuardShape#68, Call#29 70 StoreFixedSlot ← GuardShape#68, Call#29 (slot 2) 71 GuardShape ← NewPlainObject#61 Object 72 PostWriteBarrier ← GuardShape#71, Call#59 73 StoreFixedSlot ← GuardShape#71, Call#59 (slot 3) 74 Constant object 104289c3f040 (LexicalEnvironment) Object 75 Constant object 104289c3e030 (global) Object 76 Constant function complex5 (-e:21) at 104289c6c900 Object 77 Constant undefined Undefined 78 Constant 0x1 Int32 79 Constant function complex5 (-e:21) at 104289c6c900 Object 80 GuardSpecificFunction ← Constant#76, Constant#79 Object 81 Call ← GuardSpecificFunction#80, Constant#77, NewPlainObject#61 Value 82 Constant magic uninitialized-lexical MagicUninitializedLexical 83 Constant 0x0 Int32 96 Goto → block 1 Block 1 (loop header) 84 Phi ← Constant#2, Constant#2 Value 85 Phi ← Constant#2, Constant#2 Value 86 Phi ← Parameter#0, Parameter#0 Value 87 Phi ← Parameter#1, Parameter#1 Value 88 Phi ← Call#13, Call#112 Value 89 Phi ← Call#21, BitOr#137 Value 90 Phi ← Call#29, Call#147 Value 91 Phi ← NewArrayObject#31, NewArrayObject#31 Value 92 Phi ← Call#59, Call#489 Value 93 Phi ← NewPlainObject#61, NewPlainObject#61 Value 94 Phi ← Call#81, Call#693 Value 95 Phi ← Constant#83, Add#698 Value 97 InterruptCheck 98 Constant 0xa Int32 99 Unbox Phi#95 to Int32 (fallible) Int32 100 Compare ← Unbox#99, Constant#98 Lt Bool 101 Test ← Compare#100 → block 2, block 67 1 0 Block 2 102 Constant object 104289c3f040 (LexicalEnvironment) Object 103 Constant object 104289c3e030 (global) Object 104 Constant function complex1 (-e:2) at 104289c6c8c8 Object 105 Constant undefined Undefined 106 Unbox Phi#88 to Double (fallible) Double 107 Unbox Phi#95 to Double (fallible) Double 108 Add ← Unbox#106, Unbox#107 [double] Double 109 Constant 0x1 Int32 110 Constant function complex1 (-e:2) at 104289c6c8c8 Object 111 GuardSpecificFunction ← Constant#104, Constant#110 Object 112 Call ← GuardSpecificFunction#111, Constant#105, Add#108 Value 113 Constant object 104289c3f040 (LexicalEnvironment) Object 114 Constant object 104289c3e030 (global) Object 115 Constant function complex2 (-e:7) at 104289c6c970 Object 116 Constant undefined Undefined 117 Unbox Phi#89 to Int32 (fallible) Int32 118 Unbox Phi#95 to Int32 (fallible) Int32 119 Add ← Unbox#117, Unbox#118 [int32] Int32 120 Constant 0x1 Int32 121 Constant function complex2 (-e:7) at 104289c6c970 Object 122 GuardSpecificFunction ← Constant#115, Constant#121 Object 123 Goto → block 3 Block 3 124 Constant undefined Undefined 125 Constant 0x1 Int32 126 Lsh ← Add#119, Constant#125 Int32 127 Constant 0x1 Int32 128 Rsh ← Add#119, Constant#127 Int32 129 Constant 0xff Int32 130 BitAnd ← Add#119, Constant#129 Int32 131 Constant 0x2 Int32 132 Ursh ← Add#119, Constant#131 Int32 133 Add ← BitAnd#130, Ursh#132 [int32] Int32 134 BitNot ← Add#119 Int32 135 Sub ← Add#133, BitNot#134 [int32] Int32 136 BitXor ← Rsh#128, Sub#135 Int32 137 BitOr ← Lsh#126, BitXor#136 Int32 139 Goto → block 4 Block 4 140 Constant object 104289c3f040 (LexicalEnvironment) Object 141 Constant object 104289c3e030 (global) Object 142 Constant function complex3 (-e:11) at 104289c6c938 Object 143 Constant undefined Undefined 144 Constant 0x2 Int32 145 Constant function complex3 (-e:11) at 104289c6c938 Object 146 GuardSpecificFunction ← Constant#142, Constant#145 Object 147 Call ← GuardSpecificFunction#146, Constant#143, Phi#90, Call#112 Value 148 Constant object 104289c3f040 (LexicalEnvironment) Object 149 Constant object 104289c3e030 (global) Object 150 Constant function complex4 (-e:17) at 104289c6c890 Object 151 Constant undefined Undefined 152 Constant shape at 104289c64f00 Shape 153 NewArrayObject ← Constant#152 Object 154 Constant 0x0 Int32 155 Elements ← NewArrayObject#153 Elements 156 PostWriteBarrier ← NewArrayObject#153, Call#112 157 StoreElement ← Elements#155, Constant#154, Call#112 158 SetInitializedLength ← Elements#155, Constant#154 159 Constant 0x1 Int32 160 Elements ← NewArrayObject#153 Elements 161 PostWriteBarrier ← NewArrayObject#153, BitOr#137 162 StoreElement ← Elements#160, Constant#159, BitOr#137 163 SetInitializedLength ← Elements#160, Constant#159 164 Constant 0x2 Int32 165 Elements ← NewArrayObject#153 Elements 166 PostWriteBarrier ← NewArrayObject#153, Call#147 167 StoreElement ← Elements#165, Constant#164, Call#147 168 SetInitializedLength ← Elements#165, Constant#164 169 Constant 0x3 Int32 170 Elements ← NewArrayObject#153 Elements 171 PostWriteBarrier ← NewArrayObject#153, Phi#95 172 StoreElement ← Elements#170, Constant#169, Phi#95 173 SetInitializedLength ← Elements#170, Constant#169 174 Constant 0x1 Int32 175 Constant function complex4 (-e:17) at 104289c6c890 Object 176 GuardSpecificFunction ← Constant#150, Constant#175 Object 177 Goto → block 5 Block 5 178 Constant undefined Undefined 179 FunctionEnvironment ← GuardSpecificFunction#176 Object 180 GuardShape ← NewArrayObject#153 Object 181 Constant object 104289c3e088 (Array) Object 182 Constant function map (self-hosted:163) at 104289c47920 Object 183 Constant function complex4/< (-e:18) at 104289c63d28 Object 184 Lambda ← FunctionEnvironment#179, Constant#183 Object 185 Constant 0x1 Int32 186 Constant function map (self-hosted:163) at 104289c47920 Object 187 GuardSpecificFunction ← Constant#182, Constant#186 Object 188 Goto → block 6 Block 6 189 Constant undefined Undefined 190 Constant function ToObject at 104289c6c740 Object 191 DebugCheckSelfHosted ← Constant#190 Value 192 Constant undefined Undefined 193 Constant 0x1 Int32 194 Constant function ToLength at 104289c6c778 Object 195 DebugCheckSelfHosted ← Constant#194 Value 196 Constant undefined Undefined 197 GuardShape ← NewArrayObject#153 Object 198 Elements ← GuardShape#197 Elements 199 ArrayLength ← Elements#198 Int32 200 Constant 0x1 Int32 201 Constant 0x0 Int32 202 MinMax ← ArrayLength#199, Constant#201 (max) Int32 203 Constant 0x1 Int32 204 Constant 0x0 Int32 205 Compare ← Constant#203, Constant#204 StrictEq Bool 206 Test ← Compare#205 → block 7, block 8 1 0 Block 7 207 CallGetIntrinsicValue Value 208 DebugCheckSelfHosted ← CallGetIntrinsicValue#207 Value 209 Constant undefined Undefined 210 Constant 0x37 Int32 211 Constant 0x0 Int32 212 Constant string 104289c2e080 String 213 Bail 718 Unreachable Block 8 216 Constant function IsCallable at 104289c6c7b0 Object 217 DebugCheckSelfHosted ← Constant#216 Value 218 Constant undefined Undefined 219 Constant 0x1 Int32 220 IsCallable ← Lambda#184 Bool 221 Test ← IsCallable#220 → block 10, block 9 1 0 Block 9 222 CallGetIntrinsicValue Value 223 DebugCheckSelfHosted ← CallGetIntrinsicValue#222 Value 224 Constant undefined Undefined 225 Constant 0xc Int32 226 CallGetIntrinsicValue Value 227 DebugCheckSelfHosted ← CallGetIntrinsicValue#226 Value 228 Constant undefined Undefined 229 Constant 0x0 Int32 230 Bail 717 Unreachable Block 10 235 Constant 0x1 Int32 236 Constant 0x1 Int32 237 Compare ← Constant#235, Constant#236 Gt Bool 238 Test ← Compare#237 → block 11, block 12 1 0 Block 11 239 Constant 0x1 Int32 240 GetInlinedArgument ← Constant#239, Lambda#184 Value 241 Goto → block 13 Block 12 242 Constant undefined Undefined 243 Goto → block 13 Block 13 244 Phi ← Constant#242, GetInlinedArgument#240 Value 245 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 246 DebugCheckSelfHosted ← Constant#245 Value 247 Constant undefined Undefined 248 Constant 0x1 Int32 249 HasShape ← NewArrayObject#153 Bool 250 Test ← HasShape#249 → block 14, block 15 1 0 Block 14 251 Constant function std_Array at 104289c6c820 Object 252 DebugCheckSelfHosted ← Constant#251 Value 253 Constant undefined Undefined 254 Constant 0x1 Int32 255 Unbox DebugCheckSelfHosted#252 to Object (fallible) Object 256 Constant function std_Array at 104289c6c820 Object 257 GuardSpecificFunction ← Unbox#255, Constant#256 Object 258 NewArrayDynamicLength ← MinMax#202 Object 259 Goto → block 16 Block 15 260 CallGetIntrinsicValue Value 261 DebugCheckSelfHosted ← CallGetIntrinsicValue#260 Value 262 Constant undefined Undefined 263 Bail 716 Unreachable Block 16 266 Phi ← NewArrayDynamicLength#258 Value 267 Constant 0x0 Int32 279 Goto → block 17 Block 17 (loop header) 268 Phi ← Constant#189, Constant#189 Value 269 Phi ← Constant#189, Constant#189 Value 270 Phi ← NewArrayObject#153, NewArrayObject#153 Value 271 Phi ← Lambda#184, Lambda#184 Value 272 Phi ← NewArrayObject#153, NewArrayObject#153 Value 273 Phi ← MinMax#202, MinMax#202 Value 274 Phi ← Phi#244, Phi#244 Value 275 Phi ← Phi#266, Phi#266 Value 276 Phi ← Constant#267, Add#324 Value 277 Phi ← Constant#189, Phi#321 Value 278 Phi ← NewArrayObject#153, NewArrayObject#153 Value 280 InterruptCheck 281 Unbox Phi#276 to Int32 (fallible) Int32 282 Unbox Phi#273 to Int32 (fallible) Int32 283 Compare ← Unbox#281, Unbox#282 Lt Bool 284 Test ← Compare#283 → block 18, block 24 1 0 Block 18 285 Unbox Phi#272 to Object (fallible) Object 286 Unbox Phi#276 to Int32 (fallible) Int32 287 GuardShape ← Unbox#285 Object 288 Elements ← GuardShape#287 Elements 289 InitializedLength ← Elements#288 Int32 290 BoundsCheck ← Unbox#286, InitializedLength#289 Int32 291 SpectreMaskIndex ← BoundsCheck#290, InitializedLength#289 Int32 292 GuardElementNotHole ← Elements#288, SpectreMaskIndex#291 293 Constant true Bool 294 Test ← Constant#293 → block 19, block 22 1 0 Block 19 295 Unbox Phi#272 to Object (fallible) Object 296 Unbox Phi#276 to Int32 (fallible) Int32 297 GuardShape ← Unbox#295 Object 298 Elements ← GuardShape#297 Elements 299 InitializedLength ← Elements#298 Int32 300 BoundsCheck ← Unbox#296, InitializedLength#299 Int32 301 SpectreMaskIndex ← BoundsCheck#300, InitializedLength#299 Int32 302 GuardElementsArePacked ← Elements#298 303 LoadElement ← Elements#298, SpectreMaskIndex#301 Value 304 Constant 0x3 Int32 305 Unbox Phi#271 to Object (fallible) Object 306 GuardToFunction ← Unbox#305 Object 307 GuardFunctionScript ← GuardToFunction#306 Object 308 Goto → block 20 Block 20 309 Constant undefined Undefined 310 Constant 0x2 Int32 311 Unbox LoadElement#303 to Double (fallible) Double 312 Mul ← Unbox#311, Constant#310 [double] Double 314 Goto → block 21 Block 21 315 Unbox Phi#275 to Object (fallible) Object 316 Unbox Phi#276 to Int32 (fallible) Int32 317 GuardShape ← Unbox#315 Object 318 Elements ← GuardShape#317 Elements 319 StoreElementHole ← GuardShape#317, Elements#318, Unbox#316, Mul#312 320 Goto → block 22 Block 22 (backedge) 321 Phi ← Mul#312, Phi#277 Value 322 Unbox Phi#276 to Int32 (fallible) Int32 323 Constant 0x1 Int32 324 Add ← Unbox#322, Constant#323 [int32] Int32 325 Goto → block 17 Block 24 328 Unbox Phi#275 to Object (fallible) Object 329 GuardShape ← Unbox#328 Object 330 Constant object 104289c3e088 (Array) Object 331 Constant function filter (self-hosted:183) at 104289c47970 Object 332 Constant function complex4/< (-e:18) at 104289c63d60 Object 333 Lambda ← FunctionEnvironment#179, Constant#332 Object 334 Constant 0x1 Int32 335 Constant function filter (self-hosted:183) at 104289c47970 Object 336 GuardSpecificFunction ← Constant#331, Constant#335 Object 337 Goto → block 25 Block 25 338 Constant undefined Undefined 339 Constant function ToObject at 104289c6c740 Object 340 DebugCheckSelfHosted ← Constant#339 Value 341 Constant undefined Undefined 342 Constant 0x1 Int32 343 Unbox Phi#275 to Object (fallible) Object 344 Constant function ToLength at 104289c6c778 Object 345 DebugCheckSelfHosted ← Constant#344 Value 346 Constant undefined Undefined 347 GuardShape ← Unbox#343 Object 348 Elements ← GuardShape#347 Elements 349 ArrayLength ← Elements#348 Int32 350 Constant 0x1 Int32 351 Constant 0x0 Int32 352 MinMax ← ArrayLength#349, Constant#351 (max) Int32 353 Constant 0x1 Int32 354 Constant 0x0 Int32 355 Compare ← Constant#353, Constant#354 StrictEq Bool 356 Test ← Compare#355 → block 26, block 27 1 0 Block 26 357 CallGetIntrinsicValue Value 358 DebugCheckSelfHosted ← CallGetIntrinsicValue#357 Value 359 Constant undefined Undefined 360 Constant 0x37 Int32 361 Constant 0x0 Int32 362 Constant string 104289c28540 String 363 Bail 715 Unreachable Block 27 366 Constant function IsCallable at 104289c6c7b0 Object 367 DebugCheckSelfHosted ← Constant#366 Value 368 Constant undefined Undefined 369 Constant 0x1 Int32 370 IsCallable ← Lambda#333 Bool 371 Test ← IsCallable#370 → block 29, block 28 1 0 Block 28 372 CallGetIntrinsicValue Value 373 DebugCheckSelfHosted ← CallGetIntrinsicValue#372 Value 374 Constant undefined Undefined 375 Constant 0xc Int32 376 CallGetIntrinsicValue Value 377 DebugCheckSelfHosted ← CallGetIntrinsicValue#376 Value 378 Constant undefined Undefined 379 Constant 0x0 Int32 380 Bail 714 Unreachable Block 29 385 Constant 0x1 Int32 386 Constant 0x1 Int32 387 Compare ← Constant#385, Constant#386 Gt Bool 388 Test ← Compare#387 → block 30, block 31 1 0 Block 30 389 Constant 0x1 Int32 390 GetInlinedArgument ← Constant#389, Lambda#333 Value 391 Goto → block 32 Block 31 392 Constant undefined Undefined 393 Goto → block 32 Block 32 394 Phi ← Constant#392, GetInlinedArgument#390 Value 395 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 396 DebugCheckSelfHosted ← Constant#395 Value 397 Constant undefined Undefined 398 Constant 0x1 Int32 399 HasShape ← Unbox#343 Bool 400 Test ← HasShape#399 → block 33, block 34 1 0 Block 33 401 Constant shape at 104289c64f00 Shape 402 NewArrayObject ← Constant#401 Object 403 Goto → block 35 Block 34 404 CallGetIntrinsicValue Value 405 DebugCheckSelfHosted ← CallGetIntrinsicValue#404 Value 406 Constant undefined Undefined 407 Constant 0x0 Int32 408 Bail 713 Unreachable Block 35 411 Phi ← NewArrayObject#402 Value 412 Constant 0x0 Int32 413 Constant 0x0 Int32 426 Goto → block 36 Block 36 (loop header) 414 Phi ← Constant#338, Constant#338 Value 415 Phi ← Constant#338, Constant#338 Value 416 Phi ← Phi#275, Phi#275 Value 417 Phi ← Lambda#333, Lambda#333 Value 418 Phi ← Unbox#343, Unbox#343 Value 419 Phi ← MinMax#352, MinMax#352 Value 420 Phi ← Phi#394, Phi#394 Value 421 Phi ← Phi#411, Phi#411 Value 422 Phi ← Constant#412, Add#475 Value 423 Phi ← Constant#413, Phi#471 Value 424 Phi ← Constant#338, Phi#472 Value 425 Phi ← Phi#275, Phi#275 Value 427 InterruptCheck 428 Unbox Phi#422 to Int32 (fallible) Int32 429 Unbox Phi#419 to Int32 (fallible) Int32 430 Compare ← Unbox#428, Unbox#429 Lt Bool 431 Test ← Compare#430 → block 37, block 44 1 0 Block 37 432 Unbox Phi#418 to Object (fallible) Object 433 Unbox Phi#422 to Int32 (fallible) Int32 434 GuardShape ← Unbox#432 Object 435 Elements ← GuardShape#434 Elements 436 InitializedLength ← Elements#435 Int32 437 BoundsCheck ← Unbox#433, InitializedLength#436 Int32 438 SpectreMaskIndex ← BoundsCheck#437, InitializedLength#436 Int32 439 GuardElementNotHole ← Elements#435, SpectreMaskIndex#438 440 Constant true Bool 441 Test ← Constant#440 → block 38, block 42 1 0 Block 38 442 Unbox Phi#418 to Object (fallible) Object 443 Unbox Phi#422 to Int32 (fallible) Int32 444 GuardShape ← Unbox#442 Object 445 Elements ← GuardShape#444 Elements 446 InitializedLength ← Elements#445 Int32 447 BoundsCheck ← Unbox#443, InitializedLength#446 Int32 448 SpectreMaskIndex ← BoundsCheck#447, InitializedLength#446 Int32 449 GuardElementsArePacked ← Elements#445 450 LoadElement ← Elements#445, SpectreMaskIndex#448 Value 451 Constant 0x3 Int32 452 Unbox Phi#417 to Object (fallible) Object 453 GuardToFunction ← Unbox#452 Object 454 GuardFunctionScript ← GuardToFunction#453 Object 455 Goto → block 39 Block 39 456 Constant undefined Undefined 457 Constant 0x32 Int32 458 Unbox LoadElement#450 to Double (fallible) Double 459 Compare ← Unbox#458, Constant#457 Gt Bool 461 Goto → block 40 Block 40 462 Test ← Compare#459 → block 41, block 42 1 0 Block 41 463 Unbox Phi#423 to Int32 (fallible) Int32 464 Constant 0x1 Int32 465 Add ← Unbox#463, Constant#464 [int32] Int32 466 Unbox Phi#421 to Object (fallible) Object 467 GuardShape ← Unbox#466 Object 468 Elements ← GuardShape#467 Elements 469 StoreElementHole ← GuardShape#467, Elements#468, Unbox#463, LoadElement#450 470 Goto → block 42 Block 42 (backedge) 471 Phi ← Add#465, Phi#423, Phi#423 Value 472 Phi ← LoadElement#450, Phi#424, LoadElement#450 Value 473 Unbox Phi#422 to Int32 (fallible) Int32 474 Constant 0x1 Int32 475 Add ← Unbox#473, Constant#474 [int32] Int32 476 Goto → block 36 Block 44 479 Unbox Phi#421 to Object (fallible) Object 480 GuardShape ← Unbox#479 Object 481 Constant object 104289c3e088 (Array) Object 482 Constant function reduce (self-hosted:205) at 104289c479c0 Object 483 Constant function complex4/< (-e:18) at 104289c63d98 Object 484 Lambda ← FunctionEnvironment#179, Constant#483 Object 485 Constant 0x0 Int32 486 Constant 0x2 Int32 487 Constant function reduce (self-hosted:205) at 104289c479c0 Object 488 GuardSpecificFunction ← Constant#482, Constant#487 Object 489 Call ← GuardSpecificFunction#488, Phi#421, Lambda#484, Constant#485 Value 491 Goto → block 45 Block 45 492 Constant object 104289c3f040 (LexicalEnvironment) Object 493 Constant object 104289c3e030 (global) Object 494 Constant function complex5 (-e:21) at 104289c6c900 Object 495 Constant undefined Undefined 496 Constant shape at 104289c64fc0 Shape 497 NewPlainObject ← Constant#496 Object 498 GuardShape ← NewPlainObject#497 Object 499 PostWriteBarrier ← GuardShape#498, Call#112 500 StoreFixedSlot ← GuardShape#498, Call#112 (slot 0) 501 GuardShape ← NewPlainObject#497 Object 502 PostWriteBarrier ← GuardShape#501, BitOr#137 503 StoreFixedSlot ← GuardShape#501, BitOr#137 (slot 1) 504 GuardShape ← NewPlainObject#497 Object 505 PostWriteBarrier ← GuardShape#504, Call#147 506 StoreFixedSlot ← GuardShape#504, Call#147 (slot 2) 507 Constant 0x1 Int32 508 Constant function complex5 (-e:21) at 104289c6c900 Object 509 GuardSpecificFunction ← Constant#494, Constant#508 Object 510 Goto → block 46 Block 46 511 Constant undefined Undefined 512 FunctionEnvironment ← GuardSpecificFunction#509 Object 513 Constant object 104289c3f078 (Call) Object 514 NewCallObject ← Constant#513 Object 515 AssertCanElidePostWriteBarrier ← NewCallObject#514, FunctionEnvironment#512 516 AssertCanElidePostWriteBarrier ← NewCallObject#514, GuardSpecificFunction#509 517 StoreFixedSlot ← NewCallObject#514, FunctionEnvironment#512 (slot 0) 518 StoreFixedSlot ← NewCallObject#514, GuardSpecificFunction#509 (slot 1) 519 PostWriteBarrier ← NewCallObject#514, NewPlainObject#497 520 StoreFixedSlot ← NewCallObject#514, NewPlainObject#497 (slot 2) 521 Constant object 104289c3f040 (LexicalEnvironment) Object 522 Constant object 104289c3e030 (global) Object 523 Constant function Object at 104289c422e0 Object 524 Constant function Object at 104289c422e0 Object 525 GuardObjectIdentity ← Constant#523, Constant#524 Object 526 Constant function keys at 104289c42468 Object 527 LoadFixedSlot ← NewCallObject#514 (slot 2) Value 528 Constant 0x1 Int32 529 Constant function keys at 104289c42468 Object 530 GuardSpecificFunction ← Constant#526, Constant#529 Object 531 Unbox LoadFixedSlot#527 to Object (fallible) Object 532 GuardIsNotProxy ← Unbox#531 Object 533 ObjectKeys ← GuardIsNotProxy#532 Object 534 GuardShape ← ObjectKeys#533 Object 535 Constant object 104289c3e088 (Array) Object 536 Constant function map (self-hosted:163) at 104289c47920 Object 537 Constant function complex5/< (-e:22) at 104289c63e08 Object 538 Lambda ← NewCallObject#514, Constant#537 Object 539 Constant 0x1 Int32 540 Constant function map (self-hosted:163) at 104289c47920 Object 541 GuardSpecificFunction ← Constant#536, Constant#540 Object 542 Goto → block 47 Block 47 543 Constant undefined Undefined 544 Constant function ToObject at 104289c6c740 Object 545 DebugCheckSelfHosted ← Constant#544 Value 546 Constant undefined Undefined 547 Constant 0x1 Int32 548 Constant function ToLength at 104289c6c778 Object 549 DebugCheckSelfHosted ← Constant#548 Value 550 Constant undefined Undefined 551 GuardShape ← ObjectKeys#533 Object 552 Elements ← GuardShape#551 Elements 553 ArrayLength ← Elements#552 Int32 554 Constant 0x1 Int32 555 Constant 0x0 Int32 556 MinMax ← ArrayLength#553, Constant#555 (max) Int32 557 Constant 0x1 Int32 558 Constant 0x0 Int32 559 Compare ← Constant#557, Constant#558 StrictEq Bool 560 Test ← Compare#559 → block 48, block 49 1 0 Block 48 561 CallGetIntrinsicValue Value 562 DebugCheckSelfHosted ← CallGetIntrinsicValue#561 Value 563 Constant undefined Undefined 564 Constant 0x37 Int32 565 Constant 0x0 Int32 566 Constant string 104289c2e080 String 567 Bail 712 Unreachable Block 49 570 Constant function IsCallable at 104289c6c7b0 Object 571 DebugCheckSelfHosted ← Constant#570 Value 572 Constant undefined Undefined 573 Constant 0x1 Int32 574 IsCallable ← Lambda#538 Bool 575 Test ← IsCallable#574 → block 51, block 50 1 0 Block 50 576 CallGetIntrinsicValue Value 577 DebugCheckSelfHosted ← CallGetIntrinsicValue#576 Value 578 Constant undefined Undefined 579 Constant 0xc Int32 580 CallGetIntrinsicValue Value 581 DebugCheckSelfHosted ← CallGetIntrinsicValue#580 Value 582 Constant undefined Undefined 583 Constant 0x0 Int32 584 Bail 711 Unreachable Block 51 589 Constant 0x1 Int32 590 Constant 0x1 Int32 591 Compare ← Constant#589, Constant#590 Gt Bool 592 Test ← Compare#591 → block 52, block 53 1 0 Block 52 593 Constant 0x1 Int32 594 GetInlinedArgument ← Constant#593, Lambda#538 Value 595 Goto → block 54 Block 53 596 Constant undefined Undefined 597 Goto → block 54 Block 54 598 Phi ← Constant#596, GetInlinedArgument#594 Value 599 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 600 DebugCheckSelfHosted ← Constant#599 Value 601 Constant undefined Undefined 602 Constant 0x1 Int32 603 HasShape ← ObjectKeys#533 Bool 604 Test ← HasShape#603 → block 55, block 56 1 0 Block 55 605 Constant function std_Array at 104289c6c820 Object 606 DebugCheckSelfHosted ← Constant#605 Value 607 Constant undefined Undefined 608 Constant 0x1 Int32 609 Unbox DebugCheckSelfHosted#606 to Object (fallible) Object 610 Constant function std_Array at 104289c6c820 Object 611 GuardSpecificFunction ← Unbox#609, Constant#610 Object 612 NewArrayDynamicLength ← MinMax#556 Object 613 Goto → block 57 Block 56 614 CallGetIntrinsicValue Value 615 DebugCheckSelfHosted ← CallGetIntrinsicValue#614 Value 616 Constant undefined Undefined 617 Bail 710 Unreachable Block 57 620 Phi ← NewArrayDynamicLength#612 Value 621 Constant 0x0 Int32 633 Goto → block 58 Block 58 (loop header) 622 Phi ← Constant#543, Constant#543 Value 623 Phi ← Constant#543, Constant#543 Value 624 Phi ← ObjectKeys#533, ObjectKeys#533 Value 625 Phi ← Lambda#538, Lambda#538 Value 626 Phi ← ObjectKeys#533, ObjectKeys#533 Value 627 Phi ← MinMax#556, MinMax#556 Value 628 Phi ← Phi#598, Phi#598 Value 629 Phi ← Phi#620, Phi#620 Value 630 Phi ← Constant#621, Add#679 Value 631 Phi ← Constant#543, Phi#676 Value 632 Phi ← ObjectKeys#533, ObjectKeys#533 Value 634 InterruptCheck 635 Unbox Phi#630 to Int32 (fallible) Int32 636 Unbox Phi#627 to Int32 (fallible) Int32 637 Compare ← Unbox#635, Unbox#636 Lt Bool 638 Test ← Compare#637 → block 59, block 65 1 0 Block 59 639 Unbox Phi#626 to Object (fallible) Object 640 Unbox Phi#630 to Int32 (fallible) Int32 641 GuardShape ← Unbox#639 Object 642 Elements ← GuardShape#641 Elements 643 InitializedLength ← Elements#642 Int32 644 BoundsCheck ← Unbox#640, InitializedLength#643 Int32 645 SpectreMaskIndex ← BoundsCheck#644, InitializedLength#643 Int32 646 GuardElementNotHole ← Elements#642, SpectreMaskIndex#645 647 Constant true Bool 648 Test ← Constant#647 → block 60, block 63 1 0 Block 60 649 Unbox Phi#626 to Object (fallible) Object 650 Unbox Phi#630 to Int32 (fallible) Int32 651 GuardShape ← Unbox#649 Object 652 Elements ← GuardShape#651 Elements 653 InitializedLength ← Elements#652 Int32 654 BoundsCheck ← Unbox#650, InitializedLength#653 Int32 655 SpectreMaskIndex ← BoundsCheck#654, InitializedLength#653 Int32 656 GuardElementsArePacked ← Elements#652 657 LoadElement ← Elements#652, SpectreMaskIndex#655 Value 658 Constant 0x3 Int32 659 Unbox Phi#625 to Object (fallible) Object 660 GuardToFunction ← Unbox#659 Object 661 GuardFunctionScript ← GuardToFunction#660 Object 662 Goto → block 61 Block 61 663 Constant undefined Undefined 664 FunctionEnvironment ← GuardFunctionScript#661 Object 665 LoadFixedSlot ← FunctionEnvironment#664 (slot 2) Value 666 Unbox LoadFixedSlot#665 to Object (fallible) Object 667 MegamorphicLoadSlotByValue ← Unbox#666, LoadElement#657 Value 669 Goto → block 62 Block 62 670 Unbox Phi#629 to Object (fallible) Object 671 Unbox Phi#630 to Int32 (fallible) Int32 672 GuardShape ← Unbox#670 Object 673 Elements ← GuardShape#672 Elements 674 StoreElementHole ← GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667 675 Goto → block 63 Block 63 (backedge) 676 Phi ← MegamorphicLoadSlotByValue#667, Phi#631 Value 677 Unbox Phi#630 to Int32 (fallible) Int32 678 Constant 0x1 Int32 679 Add ← Unbox#677, Constant#678 [int32] Int32 680 Goto → block 58 Block 65 683 Unbox Phi#629 to Object (fallible) Object 684 GuardShape ← Unbox#683 Object 685 Constant object 104289c3e088 (Array) Object 686 Constant function reduce (self-hosted:205) at 104289c479c0 Object 687 Constant function complex5/< (-e:22) at 104289c63e40 Object 688 Lambda ← NewCallObject#514, Constant#687 Object 689 Constant 0x0 Int32 690 Constant 0x2 Int32 691 Constant function reduce (self-hosted:205) at 104289c479c0 Object 692 GuardSpecificFunction ← Constant#686, Constant#691 Object 693 Call ← GuardSpecificFunction#692, Phi#629, Lambda#688, Constant#689 Value 695 Goto → block 66 Block 66 (backedge) 696 Unbox Phi#95 to Int32 (fallible) Int32 697 Constant 0x1 Int32 698 Add ← Unbox#696, Constant#697 [int32] Int32 699 Goto → block 1 Block 67 700 Unbox Phi#88 to Double (fallible) Double 701 Unbox Phi#89 to Double (fallible) Double 702 Add ← Unbox#700, Unbox#701 [double] Double 703 Unbox Phi#90 to Double (fallible) Double 704 Add ← Add#702, Unbox#703 [double] Double 705 Unbox Phi#92 to Double (fallible) Double 706 Add ← Add#704, Unbox#705 [double] Double 707 Unbox Phi#94 to Double (fallible) Double 708 Add ← Add#706, Unbox#707 [double] Double 709 Return ← Add#708
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant magic uninitialized-lexical MagicUninitializedLexical 6 Constant object 104289c3f040 (LexicalEnvironment) Object 7 Constant object 104289c3e030 (global) Object 8 Constant function complex1 (-e:2) at 104289c6c8c8 Object 9 Constant undefined Undefined 10 Constant 0x1 Int32 11 Constant function complex1 (-e:2) at 104289c6c8c8 Object 12 GuardSpecificFunction ← Constant#8, Constant#11 Object 13 Call ← GuardSpecificFunction#12, Constant#9, Parameter#1 Value 14 Constant object 104289c3f040 (LexicalEnvironment) Object 15 Constant object 104289c3e030 (global) Object 16 Constant function complex2 (-e:7) at 104289c6c970 Object 17 Constant undefined Undefined 18 Constant 0x1 Int32 19 Constant function complex2 (-e:7) at 104289c6c970 Object 20 GuardSpecificFunction ← Constant#16, Constant#19 Object 21 Call ← GuardSpecificFunction#20, Constant#17, Parameter#1 Value 22 Constant object 104289c3f040 (LexicalEnvironment) Object 23 Constant object 104289c3e030 (global) Object 24 Constant function complex3 (-e:11) at 104289c6c938 Object 25 Constant undefined Undefined 26 Constant 0x2 Int32 27 Constant function complex3 (-e:11) at 104289c6c938 Object 28 GuardSpecificFunction ← Constant#24, Constant#27 Object 29 Call ← GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13 Value 30 Constant shape at 104289c64f00 Shape 31 NewArrayObject ← Constant#30 Object 32 Constant 0x0 Int32 33 Elements ← NewArrayObject#31 Elements 34 PostWriteBarrier ← NewArrayObject#31, Call#13 35 StoreElement ← Elements#33, Constant#32, Call#13 36 SetInitializedLength ← Elements#33, Constant#32 37 Constant 0x1 Int32 38 Elements ← NewArrayObject#31 Elements 39 PostWriteBarrier ← NewArrayObject#31, Call#21 40 StoreElement ← Elements#38, Constant#37, Call#21 41 SetInitializedLength ← Elements#38, Constant#37 42 Constant 0x2 Int32 43 Elements ← NewArrayObject#31 Elements 44 PostWriteBarrier ← NewArrayObject#31, Call#29 45 StoreElement ← Elements#43, Constant#42, Call#29 46 SetInitializedLength ← Elements#43, Constant#42 47 Constant 0x3 Int32 48 Elements ← NewArrayObject#31 Elements 49 PostWriteBarrier ← NewArrayObject#31, Parameter#1 50 StoreElement ← Elements#48, Constant#47, Parameter#1 51 SetInitializedLength ← Elements#48, Constant#47 52 Constant object 104289c3f040 (LexicalEnvironment) Object 53 Constant object 104289c3e030 (global) Object 54 Constant function complex4 (-e:17) at 104289c6c890 Object 55 Constant undefined Undefined 56 Constant 0x1 Int32 57 Constant function complex4 (-e:17) at 104289c6c890 Object 58 GuardSpecificFunction ← Constant#54, Constant#57 Object 59 Call ← GuardSpecificFunction#58, Constant#55, NewArrayObject#31 Value 60 Constant shape at 104289c64fa0 Shape 61 NewPlainObject ← Constant#60 Object 62 GuardShape ← NewPlainObject#61 Object 63 PostWriteBarrier ← GuardShape#62, Call#13 64 StoreFixedSlot ← GuardShape#62, Call#13 (slot 0) 65 GuardShape ← NewPlainObject#61 Object 66 PostWriteBarrier ← GuardShape#65, Call#21 67 StoreFixedSlot ← GuardShape#65, Call#21 (slot 1) 68 GuardShape ← NewPlainObject#61 Object 69 PostWriteBarrier ← GuardShape#68, Call#29 70 StoreFixedSlot ← GuardShape#68, Call#29 (slot 2) 71 GuardShape ← NewPlainObject#61 Object 72 PostWriteBarrier ← GuardShape#71, Call#59 73 StoreFixedSlot ← GuardShape#71, Call#59 (slot 3) 74 Constant object 104289c3f040 (LexicalEnvironment) Object 75 Constant object 104289c3e030 (global) Object 76 Constant function complex5 (-e:21) at 104289c6c900 Object 77 Constant undefined Undefined 78 Constant 0x1 Int32 79 Constant function complex5 (-e:21) at 104289c6c900 Object 80 GuardSpecificFunction ← Constant#76, Constant#79 Object 81 Call ← GuardSpecificFunction#80, Constant#77, NewPlainObject#61 Value 82 Constant magic uninitialized-lexical MagicUninitializedLexical 83 Constant 0x0 Int32 96 Goto → block 1 Block 1 (loop header) 84 Phi ← Constant#2, Constant#2 Value 85 Phi ← Constant#2, Constant#2 Value 86 Phi ← Parameter#0, Parameter#0 Value 87 Phi ← Parameter#1, Parameter#1 Value 88 Phi ← Call#13, Call#112 Value 89 Phi ← Call#21, BitOr#137 Value 90 Phi ← Call#29, Call#147 Value 91 Phi ← NewArrayObject#31, NewArrayObject#31 Value 92 Phi ← Call#59, Call#489 Value 93 Phi ← NewPlainObject#61, NewPlainObject#61 Value 94 Phi ← Call#81, Call#693 Value 95 Phi ← Constant#83, Add#698 Value 97 InterruptCheck 98 Constant 0xa Int32 99 Unbox Phi#95 to Int32 (fallible) Int32 100 Compare ← Unbox#99, Constant#98 Lt Bool 101 Test ← Compare#100 → block 2, block 67 1 0 Block 2 102 Constant object 104289c3f040 (LexicalEnvironment) Object 103 Constant object 104289c3e030 (global) Object 104 Constant function complex1 (-e:2) at 104289c6c8c8 Object 105 Constant undefined Undefined 106 Unbox Phi#88 to Double (fallible) Double 107 Unbox Phi#95 to Double (fallible) Double 108 Add ← Unbox#106, Unbox#107 [double] Double 109 Constant 0x1 Int32 110 Constant function complex1 (-e:2) at 104289c6c8c8 Object 111 GuardSpecificFunction ← Constant#104, Constant#110 Object 112 Call ← GuardSpecificFunction#111, Constant#105, Add#108 Value 113 Constant object 104289c3f040 (LexicalEnvironment) Object 114 Constant object 104289c3e030 (global) Object 115 Constant function complex2 (-e:7) at 104289c6c970 Object 116 Constant undefined Undefined 117 Unbox Phi#89 to Int32 (fallible) Int32 118 Unbox Phi#95 to Int32 (fallible) Int32 119 Add ← Unbox#117, Unbox#118 [int32] Int32 120 Constant 0x1 Int32 121 Constant function complex2 (-e:7) at 104289c6c970 Object 122 GuardSpecificFunction ← Constant#115, Constant#121 Object 123 Goto → block 3 Block 3 124 Constant undefined Undefined 125 Constant 0x1 Int32 126 Lsh ← Add#119, Constant#125 Int32 127 Constant 0x1 Int32 128 Rsh ← Add#119, Constant#127 Int32 129 Constant 0xff Int32 130 BitAnd ← Add#119, Constant#129 Int32 131 Constant 0x2 Int32 132 Ursh ← Add#119, Constant#131 Int32 133 Add ← BitAnd#130, Ursh#132 [int32] Int32 134 BitNot ← Add#119 Int32 135 Sub ← Add#133, BitNot#134 [int32] Int32 136 BitXor ← Rsh#128, Sub#135 Int32 137 BitOr ← Lsh#126, BitXor#136 Int32 139 Goto → block 4 Block 4 140 Constant object 104289c3f040 (LexicalEnvironment) Object 141 Constant object 104289c3e030 (global) Object 142 Constant function complex3 (-e:11) at 104289c6c938 Object 143 Constant undefined Undefined 144 Constant 0x2 Int32 145 Constant function complex3 (-e:11) at 104289c6c938 Object 146 GuardSpecificFunction ← Constant#142, Constant#145 Object 147 Call ← GuardSpecificFunction#146, Constant#143, Phi#90, Call#112 Value 148 Constant object 104289c3f040 (LexicalEnvironment) Object 149 Constant object 104289c3e030 (global) Object 150 Constant function complex4 (-e:17) at 104289c6c890 Object 151 Constant undefined Undefined 152 Constant shape at 104289c64f00 Shape 153 NewArrayObject ← Constant#152 Object 154 Constant 0x0 Int32 155 Elements ← NewArrayObject#153 Elements 156 PostWriteBarrier ← NewArrayObject#153, Call#112 157 StoreElement ← Elements#155, Constant#154, Call#112 158 SetInitializedLength ← Elements#155, Constant#154 159 Constant 0x1 Int32 160 Elements ← NewArrayObject#153 Elements 161 PostWriteBarrier ← NewArrayObject#153, BitOr#137 162 StoreElement ← Elements#160, Constant#159, BitOr#137 163 SetInitializedLength ← Elements#160, Constant#159 164 Constant 0x2 Int32 165 Elements ← NewArrayObject#153 Elements 166 PostWriteBarrier ← NewArrayObject#153, Call#147 167 StoreElement ← Elements#165, Constant#164, Call#147 168 SetInitializedLength ← Elements#165, Constant#164 169 Constant 0x3 Int32 170 Elements ← NewArrayObject#153 Elements 171 PostWriteBarrier ← NewArrayObject#153, Phi#95 172 StoreElement ← Elements#170, Constant#169, Phi#95 173 SetInitializedLength ← Elements#170, Constant#169 174 Constant 0x1 Int32 175 Constant function complex4 (-e:17) at 104289c6c890 Object 176 GuardSpecificFunction ← Constant#150, Constant#175 Object 177 Goto → block 5 Block 5 178 Constant undefined Undefined 179 FunctionEnvironment ← GuardSpecificFunction#176 Object 180 GuardShape ← NewArrayObject#153 Object 181 Constant object 104289c3e088 (Array) Object 182 Constant function map (self-hosted:163) at 104289c47920 Object 183 Constant function complex4/< (-e:18) at 104289c63d28 Object 184 Lambda ← FunctionEnvironment#179, Constant#183 Object 185 Constant 0x1 Int32 186 Constant function map (self-hosted:163) at 104289c47920 Object 187 GuardSpecificFunction ← Constant#182, Constant#186 Object 188 Goto → block 6 Block 6 189 Constant undefined Undefined 190 Constant function ToObject at 104289c6c740 Object 191 DebugCheckSelfHosted ← Constant#190 Value 192 Constant undefined Undefined 193 Constant 0x1 Int32 194 Constant function ToLength at 104289c6c778 Object 195 DebugCheckSelfHosted ← Constant#194 Value 196 Constant undefined Undefined 197 GuardShape ← NewArrayObject#153 Object 198 Elements ← GuardShape#197 Elements 199 ArrayLength ← Elements#198 Int32 200 Constant 0x1 Int32 201 Constant 0x0 Int32 202 MinMax ← ArrayLength#199, Constant#201 (max) Int32 203 Constant 0x1 Int32 204 Constant 0x0 Int32 205 Compare ← Constant#203, Constant#204 StrictEq Bool 206 Test ← Compare#205 → block 7, block 8 1 0 Block 7 207 CallGetIntrinsicValue Value 208 DebugCheckSelfHosted ← CallGetIntrinsicValue#207 Value 209 Constant undefined Undefined 210 Constant 0x37 Int32 211 Constant 0x0 Int32 212 Constant string 104289c2e080 String 213 Bail 718 Unreachable Block 8 216 Constant function IsCallable at 104289c6c7b0 Object 217 DebugCheckSelfHosted ← Constant#216 Value 218 Constant undefined Undefined 219 Constant 0x1 Int32 220 IsCallable ← Lambda#184 Bool 221 Test ← IsCallable#220 → block 10, block 9 1 0 Block 9 222 CallGetIntrinsicValue Value 223 DebugCheckSelfHosted ← CallGetIntrinsicValue#222 Value 224 Constant undefined Undefined 225 Constant 0xc Int32 226 CallGetIntrinsicValue Value 227 DebugCheckSelfHosted ← CallGetIntrinsicValue#226 Value 228 Constant undefined Undefined 229 Constant 0x0 Int32 230 Bail 717 Unreachable Block 10 235 Constant 0x1 Int32 236 Constant 0x1 Int32 237 Compare ← Constant#235, Constant#236 Gt Bool 238 Test ← Compare#237 → block 11, block 12 1 0 Block 11 239 Constant 0x1 Int32 240 GetInlinedArgument ← Constant#239, Lambda#184 Value 241 Goto → block 13 Block 12 242 Constant undefined Undefined 243 Goto → block 13 Block 13 244 Phi ← Constant#242, GetInlinedArgument#240 Value 245 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 246 DebugCheckSelfHosted ← Constant#245 Value 247 Constant undefined Undefined 248 Constant 0x1 Int32 249 HasShape ← NewArrayObject#153 Bool 250 Test ← HasShape#249 → block 14, block 15 1 0 Block 14 251 Constant function std_Array at 104289c6c820 Object 252 DebugCheckSelfHosted ← Constant#251 Value 253 Constant undefined Undefined 254 Constant 0x1 Int32 255 Unbox DebugCheckSelfHosted#252 to Object (fallible) Object 256 Constant function std_Array at 104289c6c820 Object 257 GuardSpecificFunction ← Unbox#255, Constant#256 Object 258 NewArrayDynamicLength ← MinMax#202 Object 259 Goto → block 16 Block 15 260 CallGetIntrinsicValue Value 261 DebugCheckSelfHosted ← CallGetIntrinsicValue#260 Value 262 Constant undefined Undefined 263 Bail 716 Unreachable Block 16 266 Phi ← NewArrayDynamicLength#258 Value 267 Constant 0x0 Int32 279 Goto → block 17 Block 17 (loop header) 268 Phi ← Constant#189, Constant#189 Value 269 Phi ← Constant#189, Constant#189 Value 270 Phi ← NewArrayObject#153, NewArrayObject#153 Value 271 Phi ← Lambda#184, Lambda#184 Value 272 Phi ← NewArrayObject#153, NewArrayObject#153 Value 273 Phi ← MinMax#202, MinMax#202 Value 274 Phi ← Phi#244, Phi#244 Value 275 Phi ← Phi#266, Phi#266 Value 276 Phi ← Constant#267, Add#324 Value 277 Phi ← Constant#189, Phi#321 Value 278 Phi ← NewArrayObject#153, NewArrayObject#153 Value 280 InterruptCheck 281 Unbox Phi#276 to Int32 (fallible) Int32 282 Unbox Phi#273 to Int32 (fallible) Int32 283 Compare ← Unbox#281, Unbox#282 Lt Bool 284 Test ← Compare#283 → block 18, block 24 1 0 Block 18 285 Unbox Phi#272 to Object (fallible) Object 286 Unbox Phi#276 to Int32 (fallible) Int32 287 GuardShape ← Unbox#285 Object 288 Elements ← GuardShape#287 Elements 289 InitializedLength ← Elements#288 Int32 290 BoundsCheck ← Unbox#286, InitializedLength#289 Int32 291 SpectreMaskIndex ← BoundsCheck#290, InitializedLength#289 Int32 292 GuardElementNotHole ← Elements#288, SpectreMaskIndex#291 293 Constant true Bool 294 Test ← Constant#293 → block 19, block 68 1 0 Block 68 (split edge) 719 Goto → block 22 Block 19 295 Unbox Phi#272 to Object (fallible) Object 296 Unbox Phi#276 to Int32 (fallible) Int32 297 GuardShape ← Unbox#295 Object 298 Elements ← GuardShape#297 Elements 299 InitializedLength ← Elements#298 Int32 300 BoundsCheck ← Unbox#296, InitializedLength#299 Int32 301 SpectreMaskIndex ← BoundsCheck#300, InitializedLength#299 Int32 302 GuardElementsArePacked ← Elements#298 303 LoadElement ← Elements#298, SpectreMaskIndex#301 Value 304 Constant 0x3 Int32 305 Unbox Phi#271 to Object (fallible) Object 306 GuardToFunction ← Unbox#305 Object 307 GuardFunctionScript ← GuardToFunction#306 Object 308 Goto → block 20 Block 20 309 Constant undefined Undefined 310 Constant 0x2 Int32 311 Unbox LoadElement#303 to Double (fallible) Double 312 Mul ← Unbox#311, Constant#310 [double] Double 314 Goto → block 21 Block 21 315 Unbox Phi#275 to Object (fallible) Object 316 Unbox Phi#276 to Int32 (fallible) Int32 317 GuardShape ← Unbox#315 Object 318 Elements ← GuardShape#317 Elements 319 StoreElementHole ← GuardShape#317, Elements#318, Unbox#316, Mul#312 320 Goto → block 22 Block 22 (backedge) 321 Phi ← Mul#312, Phi#277 Value 322 Unbox Phi#276 to Int32 (fallible) Int32 323 Constant 0x1 Int32 324 Add ← Unbox#322, Constant#323 [int32] Int32 325 Goto → block 17 Block 24 328 Unbox Phi#275 to Object (fallible) Object 329 GuardShape ← Unbox#328 Object 330 Constant object 104289c3e088 (Array) Object 331 Constant function filter (self-hosted:183) at 104289c47970 Object 332 Constant function complex4/< (-e:18) at 104289c63d60 Object 333 Lambda ← FunctionEnvironment#179, Constant#332 Object 334 Constant 0x1 Int32 335 Constant function filter (self-hosted:183) at 104289c47970 Object 336 GuardSpecificFunction ← Constant#331, Constant#335 Object 337 Goto → block 25 Block 25 338 Constant undefined Undefined 339 Constant function ToObject at 104289c6c740 Object 340 DebugCheckSelfHosted ← Constant#339 Value 341 Constant undefined Undefined 342 Constant 0x1 Int32 343 Unbox Phi#275 to Object (fallible) Object 344 Constant function ToLength at 104289c6c778 Object 345 DebugCheckSelfHosted ← Constant#344 Value 346 Constant undefined Undefined 347 GuardShape ← Unbox#343 Object 348 Elements ← GuardShape#347 Elements 349 ArrayLength ← Elements#348 Int32 350 Constant 0x1 Int32 351 Constant 0x0 Int32 352 MinMax ← ArrayLength#349, Constant#351 (max) Int32 353 Constant 0x1 Int32 354 Constant 0x0 Int32 355 Compare ← Constant#353, Constant#354 StrictEq Bool 356 Test ← Compare#355 → block 26, block 27 1 0 Block 26 357 CallGetIntrinsicValue Value 358 DebugCheckSelfHosted ← CallGetIntrinsicValue#357 Value 359 Constant undefined Undefined 360 Constant 0x37 Int32 361 Constant 0x0 Int32 362 Constant string 104289c28540 String 363 Bail 715 Unreachable Block 27 366 Constant function IsCallable at 104289c6c7b0 Object 367 DebugCheckSelfHosted ← Constant#366 Value 368 Constant undefined Undefined 369 Constant 0x1 Int32 370 IsCallable ← Lambda#333 Bool 371 Test ← IsCallable#370 → block 29, block 28 1 0 Block 28 372 CallGetIntrinsicValue Value 373 DebugCheckSelfHosted ← CallGetIntrinsicValue#372 Value 374 Constant undefined Undefined 375 Constant 0xc Int32 376 CallGetIntrinsicValue Value 377 DebugCheckSelfHosted ← CallGetIntrinsicValue#376 Value 378 Constant undefined Undefined 379 Constant 0x0 Int32 380 Bail 714 Unreachable Block 29 385 Constant 0x1 Int32 386 Constant 0x1 Int32 387 Compare ← Constant#385, Constant#386 Gt Bool 388 Test ← Compare#387 → block 30, block 31 1 0 Block 30 389 Constant 0x1 Int32 390 GetInlinedArgument ← Constant#389, Lambda#333 Value 391 Goto → block 32 Block 31 392 Constant undefined Undefined 393 Goto → block 32 Block 32 394 Phi ← Constant#392, GetInlinedArgument#390 Value 395 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 396 DebugCheckSelfHosted ← Constant#395 Value 397 Constant undefined Undefined 398 Constant 0x1 Int32 399 HasShape ← Unbox#343 Bool 400 Test ← HasShape#399 → block 33, block 34 1 0 Block 33 401 Constant shape at 104289c64f00 Shape 402 NewArrayObject ← Constant#401 Object 403 Goto → block 35 Block 34 404 CallGetIntrinsicValue Value 405 DebugCheckSelfHosted ← CallGetIntrinsicValue#404 Value 406 Constant undefined Undefined 407 Constant 0x0 Int32 408 Bail 713 Unreachable Block 35 411 Phi ← NewArrayObject#402 Value 412 Constant 0x0 Int32 413 Constant 0x0 Int32 426 Goto → block 36 Block 36 (loop header) 414 Phi ← Constant#338, Constant#338 Value 415 Phi ← Constant#338, Constant#338 Value 416 Phi ← Phi#275, Phi#275 Value 417 Phi ← Lambda#333, Lambda#333 Value 418 Phi ← Unbox#343, Unbox#343 Value 419 Phi ← MinMax#352, MinMax#352 Value 420 Phi ← Phi#394, Phi#394 Value 421 Phi ← Phi#411, Phi#411 Value 422 Phi ← Constant#412, Add#475 Value 423 Phi ← Constant#413, Phi#471 Value 424 Phi ← Constant#338, Phi#472 Value 425 Phi ← Phi#275, Phi#275 Value 427 InterruptCheck 428 Unbox Phi#422 to Int32 (fallible) Int32 429 Unbox Phi#419 to Int32 (fallible) Int32 430 Compare ← Unbox#428, Unbox#429 Lt Bool 431 Test ← Compare#430 → block 37, block 44 1 0 Block 37 432 Unbox Phi#418 to Object (fallible) Object 433 Unbox Phi#422 to Int32 (fallible) Int32 434 GuardShape ← Unbox#432 Object 435 Elements ← GuardShape#434 Elements 436 InitializedLength ← Elements#435 Int32 437 BoundsCheck ← Unbox#433, InitializedLength#436 Int32 438 SpectreMaskIndex ← BoundsCheck#437, InitializedLength#436 Int32 439 GuardElementNotHole ← Elements#435, SpectreMaskIndex#438 440 Constant true Bool 441 Test ← Constant#440 → block 38, block 69 1 0 Block 69 (split edge) 720 Goto → block 42 Block 38 442 Unbox Phi#418 to Object (fallible) Object 443 Unbox Phi#422 to Int32 (fallible) Int32 444 GuardShape ← Unbox#442 Object 445 Elements ← GuardShape#444 Elements 446 InitializedLength ← Elements#445 Int32 447 BoundsCheck ← Unbox#443, InitializedLength#446 Int32 448 SpectreMaskIndex ← BoundsCheck#447, InitializedLength#446 Int32 449 GuardElementsArePacked ← Elements#445 450 LoadElement ← Elements#445, SpectreMaskIndex#448 Value 451 Constant 0x3 Int32 452 Unbox Phi#417 to Object (fallible) Object 453 GuardToFunction ← Unbox#452 Object 454 GuardFunctionScript ← GuardToFunction#453 Object 455 Goto → block 39 Block 39 456 Constant undefined Undefined 457 Constant 0x32 Int32 458 Unbox LoadElement#450 to Double (fallible) Double 459 Compare ← Unbox#458, Constant#457 Gt Bool 461 Goto → block 40 Block 40 462 Test ← Compare#459 → block 41, block 70 1 0 Block 70 (split edge) 721 Goto → block 42 Block 41 463 Unbox Phi#423 to Int32 (fallible) Int32 464 Constant 0x1 Int32 465 Add ← Unbox#463, Constant#464 [int32] Int32 466 Unbox Phi#421 to Object (fallible) Object 467 GuardShape ← Unbox#466 Object 468 Elements ← GuardShape#467 Elements 469 StoreElementHole ← GuardShape#467, Elements#468, Unbox#463, LoadElement#450 470 Goto → block 42 Block 42 (backedge) 471 Phi ← Add#465, Phi#423, Phi#423 Value 472 Phi ← LoadElement#450, Phi#424, LoadElement#450 Value 473 Unbox Phi#422 to Int32 (fallible) Int32 474 Constant 0x1 Int32 475 Add ← Unbox#473, Constant#474 [int32] Int32 476 Goto → block 36 Block 44 479 Unbox Phi#421 to Object (fallible) Object 480 GuardShape ← Unbox#479 Object 481 Constant object 104289c3e088 (Array) Object 482 Constant function reduce (self-hosted:205) at 104289c479c0 Object 483 Constant function complex4/< (-e:18) at 104289c63d98 Object 484 Lambda ← FunctionEnvironment#179, Constant#483 Object 485 Constant 0x0 Int32 486 Constant 0x2 Int32 487 Constant function reduce (self-hosted:205) at 104289c479c0 Object 488 GuardSpecificFunction ← Constant#482, Constant#487 Object 489 Call ← GuardSpecificFunction#488, Phi#421, Lambda#484, Constant#485 Value 491 Goto → block 45 Block 45 492 Constant object 104289c3f040 (LexicalEnvironment) Object 493 Constant object 104289c3e030 (global) Object 494 Constant function complex5 (-e:21) at 104289c6c900 Object 495 Constant undefined Undefined 496 Constant shape at 104289c64fc0 Shape 497 NewPlainObject ← Constant#496 Object 498 GuardShape ← NewPlainObject#497 Object 499 PostWriteBarrier ← GuardShape#498, Call#112 500 StoreFixedSlot ← GuardShape#498, Call#112 (slot 0) 501 GuardShape ← NewPlainObject#497 Object 502 PostWriteBarrier ← GuardShape#501, BitOr#137 503 StoreFixedSlot ← GuardShape#501, BitOr#137 (slot 1) 504 GuardShape ← NewPlainObject#497 Object 505 PostWriteBarrier ← GuardShape#504, Call#147 506 StoreFixedSlot ← GuardShape#504, Call#147 (slot 2) 507 Constant 0x1 Int32 508 Constant function complex5 (-e:21) at 104289c6c900 Object 509 GuardSpecificFunction ← Constant#494, Constant#508 Object 510 Goto → block 46 Block 46 511 Constant undefined Undefined 512 FunctionEnvironment ← GuardSpecificFunction#509 Object 513 Constant object 104289c3f078 (Call) Object 514 NewCallObject ← Constant#513 Object 515 AssertCanElidePostWriteBarrier ← NewCallObject#514, FunctionEnvironment#512 516 AssertCanElidePostWriteBarrier ← NewCallObject#514, GuardSpecificFunction#509 517 StoreFixedSlot ← NewCallObject#514, FunctionEnvironment#512 (slot 0) 518 StoreFixedSlot ← NewCallObject#514, GuardSpecificFunction#509 (slot 1) 519 PostWriteBarrier ← NewCallObject#514, NewPlainObject#497 520 StoreFixedSlot ← NewCallObject#514, NewPlainObject#497 (slot 2) 521 Constant object 104289c3f040 (LexicalEnvironment) Object 522 Constant object 104289c3e030 (global) Object 523 Constant function Object at 104289c422e0 Object 524 Constant function Object at 104289c422e0 Object 525 GuardObjectIdentity ← Constant#523, Constant#524 Object 526 Constant function keys at 104289c42468 Object 527 LoadFixedSlot ← NewCallObject#514 (slot 2) Value 528 Constant 0x1 Int32 529 Constant function keys at 104289c42468 Object 530 GuardSpecificFunction ← Constant#526, Constant#529 Object 531 Unbox LoadFixedSlot#527 to Object (fallible) Object 532 GuardIsNotProxy ← Unbox#531 Object 533 ObjectKeys ← GuardIsNotProxy#532 Object 534 GuardShape ← ObjectKeys#533 Object 535 Constant object 104289c3e088 (Array) Object 536 Constant function map (self-hosted:163) at 104289c47920 Object 537 Constant function complex5/< (-e:22) at 104289c63e08 Object 538 Lambda ← NewCallObject#514, Constant#537 Object 539 Constant 0x1 Int32 540 Constant function map (self-hosted:163) at 104289c47920 Object 541 GuardSpecificFunction ← Constant#536, Constant#540 Object 542 Goto → block 47 Block 47 543 Constant undefined Undefined 544 Constant function ToObject at 104289c6c740 Object 545 DebugCheckSelfHosted ← Constant#544 Value 546 Constant undefined Undefined 547 Constant 0x1 Int32 548 Constant function ToLength at 104289c6c778 Object 549 DebugCheckSelfHosted ← Constant#548 Value 550 Constant undefined Undefined 551 GuardShape ← ObjectKeys#533 Object 552 Elements ← GuardShape#551 Elements 553 ArrayLength ← Elements#552 Int32 554 Constant 0x1 Int32 555 Constant 0x0 Int32 556 MinMax ← ArrayLength#553, Constant#555 (max) Int32 557 Constant 0x1 Int32 558 Constant 0x0 Int32 559 Compare ← Constant#557, Constant#558 StrictEq Bool 560 Test ← Compare#559 → block 48, block 49 1 0 Block 48 561 CallGetIntrinsicValue Value 562 DebugCheckSelfHosted ← CallGetIntrinsicValue#561 Value 563 Constant undefined Undefined 564 Constant 0x37 Int32 565 Constant 0x0 Int32 566 Constant string 104289c2e080 String 567 Bail 712 Unreachable Block 49 570 Constant function IsCallable at 104289c6c7b0 Object 571 DebugCheckSelfHosted ← Constant#570 Value 572 Constant undefined Undefined 573 Constant 0x1 Int32 574 IsCallable ← Lambda#538 Bool 575 Test ← IsCallable#574 → block 51, block 50 1 0 Block 50 576 CallGetIntrinsicValue Value 577 DebugCheckSelfHosted ← CallGetIntrinsicValue#576 Value 578 Constant undefined Undefined 579 Constant 0xc Int32 580 CallGetIntrinsicValue Value 581 DebugCheckSelfHosted ← CallGetIntrinsicValue#580 Value 582 Constant undefined Undefined 583 Constant 0x0 Int32 584 Bail 711 Unreachable Block 51 589 Constant 0x1 Int32 590 Constant 0x1 Int32 591 Compare ← Constant#589, Constant#590 Gt Bool 592 Test ← Compare#591 → block 52, block 53 1 0 Block 52 593 Constant 0x1 Int32 594 GetInlinedArgument ← Constant#593, Lambda#538 Value 595 Goto → block 54 Block 53 596 Constant undefined Undefined 597 Goto → block 54 Block 54 598 Phi ← Constant#596, GetInlinedArgument#594 Value 599 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 600 DebugCheckSelfHosted ← Constant#599 Value 601 Constant undefined Undefined 602 Constant 0x1 Int32 603 HasShape ← ObjectKeys#533 Bool 604 Test ← HasShape#603 → block 55, block 56 1 0 Block 55 605 Constant function std_Array at 104289c6c820 Object 606 DebugCheckSelfHosted ← Constant#605 Value 607 Constant undefined Undefined 608 Constant 0x1 Int32 609 Unbox DebugCheckSelfHosted#606 to Object (fallible) Object 610 Constant function std_Array at 104289c6c820 Object 611 GuardSpecificFunction ← Unbox#609, Constant#610 Object 612 NewArrayDynamicLength ← MinMax#556 Object 613 Goto → block 57 Block 56 614 CallGetIntrinsicValue Value 615 DebugCheckSelfHosted ← CallGetIntrinsicValue#614 Value 616 Constant undefined Undefined 617 Bail 710 Unreachable Block 57 620 Phi ← NewArrayDynamicLength#612 Value 621 Constant 0x0 Int32 633 Goto → block 58 Block 58 (loop header) 622 Phi ← Constant#543, Constant#543 Value 623 Phi ← Constant#543, Constant#543 Value 624 Phi ← ObjectKeys#533, ObjectKeys#533 Value 625 Phi ← Lambda#538, Lambda#538 Value 626 Phi ← ObjectKeys#533, ObjectKeys#533 Value 627 Phi ← MinMax#556, MinMax#556 Value 628 Phi ← Phi#598, Phi#598 Value 629 Phi ← Phi#620, Phi#620 Value 630 Phi ← Constant#621, Add#679 Value 631 Phi ← Constant#543, Phi#676 Value 632 Phi ← ObjectKeys#533, ObjectKeys#533 Value 634 InterruptCheck 635 Unbox Phi#630 to Int32 (fallible) Int32 636 Unbox Phi#627 to Int32 (fallible) Int32 637 Compare ← Unbox#635, Unbox#636 Lt Bool 638 Test ← Compare#637 → block 59, block 65 1 0 Block 59 639 Unbox Phi#626 to Object (fallible) Object 640 Unbox Phi#630 to Int32 (fallible) Int32 641 GuardShape ← Unbox#639 Object 642 Elements ← GuardShape#641 Elements 643 InitializedLength ← Elements#642 Int32 644 BoundsCheck ← Unbox#640, InitializedLength#643 Int32 645 SpectreMaskIndex ← BoundsCheck#644, InitializedLength#643 Int32 646 GuardElementNotHole ← Elements#642, SpectreMaskIndex#645 647 Constant true Bool 648 Test ← Constant#647 → block 60, block 71 1 0 Block 71 (split edge) 722 Goto → block 63 Block 60 649 Unbox Phi#626 to Object (fallible) Object 650 Unbox Phi#630 to Int32 (fallible) Int32 651 GuardShape ← Unbox#649 Object 652 Elements ← GuardShape#651 Elements 653 InitializedLength ← Elements#652 Int32 654 BoundsCheck ← Unbox#650, InitializedLength#653 Int32 655 SpectreMaskIndex ← BoundsCheck#654, InitializedLength#653 Int32 656 GuardElementsArePacked ← Elements#652 657 LoadElement ← Elements#652, SpectreMaskIndex#655 Value 658 Constant 0x3 Int32 659 Unbox Phi#625 to Object (fallible) Object 660 GuardToFunction ← Unbox#659 Object 661 GuardFunctionScript ← GuardToFunction#660 Object 662 Goto → block 61 Block 61 663 Constant undefined Undefined 664 FunctionEnvironment ← GuardFunctionScript#661 Object 665 LoadFixedSlot ← FunctionEnvironment#664 (slot 2) Value 666 Unbox LoadFixedSlot#665 to Object (fallible) Object 667 MegamorphicLoadSlotByValue ← Unbox#666, LoadElement#657 Value 669 Goto → block 62 Block 62 670 Unbox Phi#629 to Object (fallible) Object 671 Unbox Phi#630 to Int32 (fallible) Int32 672 GuardShape ← Unbox#670 Object 673 Elements ← GuardShape#672 Elements 674 StoreElementHole ← GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667 675 Goto → block 63 Block 63 (backedge) 676 Phi ← MegamorphicLoadSlotByValue#667, Phi#631 Value 677 Unbox Phi#630 to Int32 (fallible) Int32 678 Constant 0x1 Int32 679 Add ← Unbox#677, Constant#678 [int32] Int32 680 Goto → block 58 Block 65 683 Unbox Phi#629 to Object (fallible) Object 684 GuardShape ← Unbox#683 Object 685 Constant object 104289c3e088 (Array) Object 686 Constant function reduce (self-hosted:205) at 104289c479c0 Object 687 Constant function complex5/< (-e:22) at 104289c63e40 Object 688 Lambda ← NewCallObject#514, Constant#687 Object 689 Constant 0x0 Int32 690 Constant 0x2 Int32 691 Constant function reduce (self-hosted:205) at 104289c479c0 Object 692 GuardSpecificFunction ← Constant#686, Constant#691 Object 693 Call ← GuardSpecificFunction#692, Phi#629, Lambda#688, Constant#689 Value 695 Goto → block 66 Block 66 (backedge) 696 Unbox Phi#95 to Int32 (fallible) Int32 697 Constant 0x1 Int32 698 Add ← Unbox#696, Constant#697 [int32] Int32 699 Goto → block 1 Block 67 700 Unbox Phi#88 to Double (fallible) Double 701 Unbox Phi#89 to Double (fallible) Double 702 Add ← Unbox#700, Unbox#701 [double] Double 703 Unbox Phi#90 to Double (fallible) Double 704 Add ← Add#702, Unbox#703 [double] Double 705 Unbox Phi#92 to Double (fallible) Double 706 Add ← Add#704, Unbox#705 [double] Double 707 Unbox Phi#94 to Double (fallible) Double 708 Add ← Add#706, Unbox#707 [double] Double 709 Return ← Add#708
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant magic uninitialized-lexical MagicUninitializedLexical 6 Constant object 104289c3f040 (LexicalEnvironment) Object 7 Constant object 104289c3e030 (global) Object 8 Constant function complex1 (-e:2) at 104289c6c8c8 Object 9 Constant undefined Undefined 10 Constant 0x1 Int32 11 Constant function complex1 (-e:2) at 104289c6c8c8 Object 12 GuardSpecificFunction ← Constant#8, Constant#11 Object 13 Call ← GuardSpecificFunction#12, Constant#9, Parameter#1 Value 14 Constant object 104289c3f040 (LexicalEnvironment) Object 15 Constant object 104289c3e030 (global) Object 16 Constant function complex2 (-e:7) at 104289c6c970 Object 17 Constant undefined Undefined 18 Constant 0x1 Int32 19 Constant function complex2 (-e:7) at 104289c6c970 Object 20 GuardSpecificFunction ← Constant#16, Constant#19 Object 21 Call ← GuardSpecificFunction#20, Constant#17, Parameter#1 Value 22 Constant object 104289c3f040 (LexicalEnvironment) Object 23 Constant object 104289c3e030 (global) Object 24 Constant function complex3 (-e:11) at 104289c6c938 Object 25 Constant undefined Undefined 26 Constant 0x2 Int32 27 Constant function complex3 (-e:11) at 104289c6c938 Object 28 GuardSpecificFunction ← Constant#24, Constant#27 Object 29 Call ← GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13 Value 30 Constant shape at 104289c64f00 Shape 31 NewArrayObject ← Constant#30 Object 32 Constant 0x0 Int32 33 Elements ← NewArrayObject#31 Elements 34 PostWriteBarrier ← NewArrayObject#31, Call#13 35 StoreElement ← Elements#33, Constant#32, Call#13 36 SetInitializedLength ← Elements#33, Constant#32 37 Constant 0x1 Int32 38 Elements ← NewArrayObject#31 Elements 39 PostWriteBarrier ← NewArrayObject#31, Call#21 40 StoreElement ← Elements#38, Constant#37, Call#21 41 SetInitializedLength ← Elements#38, Constant#37 42 Constant 0x2 Int32 43 Elements ← NewArrayObject#31 Elements 44 PostWriteBarrier ← NewArrayObject#31, Call#29 45 StoreElement ← Elements#43, Constant#42, Call#29 46 SetInitializedLength ← Elements#43, Constant#42 47 Constant 0x3 Int32 48 Elements ← NewArrayObject#31 Elements 49 PostWriteBarrier ← NewArrayObject#31, Parameter#1 50 StoreElement ← Elements#48, Constant#47, Parameter#1 51 SetInitializedLength ← Elements#48, Constant#47 52 Constant object 104289c3f040 (LexicalEnvironment) Object 53 Constant object 104289c3e030 (global) Object 54 Constant function complex4 (-e:17) at 104289c6c890 Object 55 Constant undefined Undefined 56 Constant 0x1 Int32 57 Constant function complex4 (-e:17) at 104289c6c890 Object 58 GuardSpecificFunction ← Constant#54, Constant#57 Object 59 Call ← GuardSpecificFunction#58, Constant#55, NewArrayObject#31 Value 60 Constant shape at 104289c64fa0 Shape 61 NewPlainObject ← Constant#60 Object 62 GuardShape ← NewPlainObject#61 Object 63 PostWriteBarrier ← GuardShape#62, Call#13 64 StoreFixedSlot ← GuardShape#62, Call#13 (slot 0) 65 GuardShape ← NewPlainObject#61 Object 66 PostWriteBarrier ← GuardShape#65, Call#21 67 StoreFixedSlot ← GuardShape#65, Call#21 (slot 1) 68 GuardShape ← NewPlainObject#61 Object 69 PostWriteBarrier ← GuardShape#68, Call#29 70 StoreFixedSlot ← GuardShape#68, Call#29 (slot 2) 71 GuardShape ← NewPlainObject#61 Object 72 PostWriteBarrier ← GuardShape#71, Call#59 73 StoreFixedSlot ← GuardShape#71, Call#59 (slot 3) 74 Constant object 104289c3f040 (LexicalEnvironment) Object 75 Constant object 104289c3e030 (global) Object 76 Constant function complex5 (-e:21) at 104289c6c900 Object 77 Constant undefined Undefined 78 Constant 0x1 Int32 79 Constant function complex5 (-e:21) at 104289c6c900 Object 80 GuardSpecificFunction ← Constant#76, Constant#79 Object 81 Call ← GuardSpecificFunction#80, Constant#77, NewPlainObject#61 Value 82 Constant magic uninitialized-lexical MagicUninitializedLexical 83 Constant 0x0 Int32 96 Goto → block 1 Block 1 (loop header) 84 Phi ← Constant#2, Constant#2 Value 85 Phi ← Constant#2, Constant#2 Value 86 Phi ← Parameter#0, Parameter#0 Value 87 Phi ← Parameter#1, Parameter#1 Value 88 Phi ← Call#13, Call#112 Value 89 Phi ← Call#21, BitOr#137 Value 90 Phi ← Call#29, Call#147 Value 91 Phi ← NewArrayObject#31, NewArrayObject#31 Value 92 Phi ← Call#59, Call#489 Value 93 Phi ← NewPlainObject#61, NewPlainObject#61 Value 94 Phi ← Call#81, Call#693 Value 95 Phi ← Constant#83, Add#698 Value 97 InterruptCheck 98 Constant 0xa Int32 99 Unbox Phi#95 to Int32 (fallible) Int32 100 Compare ← Unbox#99, Constant#98 Lt Bool 101 Test ← Compare#100 → block 2, block 68 1 0 Block 2 102 Constant object 104289c3f040 (LexicalEnvironment) Object 103 Constant object 104289c3e030 (global) Object 104 Constant function complex1 (-e:2) at 104289c6c8c8 Object 105 Constant undefined Undefined 106 Unbox Phi#88 to Double (fallible) Double 107 Unbox Phi#95 to Double (fallible) Double 108 Add ← Unbox#106, Unbox#107 [double] Double 109 Constant 0x1 Int32 110 Constant function complex1 (-e:2) at 104289c6c8c8 Object 111 GuardSpecificFunction ← Constant#104, Constant#110 Object 112 Call ← GuardSpecificFunction#111, Constant#105, Add#108 Value 113 Constant object 104289c3f040 (LexicalEnvironment) Object 114 Constant object 104289c3e030 (global) Object 115 Constant function complex2 (-e:7) at 104289c6c970 Object 116 Constant undefined Undefined 117 Unbox Phi#89 to Int32 (fallible) Int32 118 Unbox Phi#95 to Int32 (fallible) Int32 119 Add ← Unbox#117, Unbox#118 [int32] Int32 120 Constant 0x1 Int32 121 Constant function complex2 (-e:7) at 104289c6c970 Object 122 GuardSpecificFunction ← Constant#115, Constant#121 Object 123 Goto → block 3 Block 3 124 Constant undefined Undefined 125 Constant 0x1 Int32 126 Lsh ← Add#119, Constant#125 Int32 127 Constant 0x1 Int32 128 Rsh ← Add#119, Constant#127 Int32 129 Constant 0xff Int32 130 BitAnd ← Add#119, Constant#129 Int32 131 Constant 0x2 Int32 132 Ursh ← Add#119, Constant#131 Int32 133 Add ← BitAnd#130, Ursh#132 [int32] Int32 134 BitNot ← Add#119 Int32 135 Sub ← Add#133, BitNot#134 [int32] Int32 136 BitXor ← Rsh#128, Sub#135 Int32 137 BitOr ← Lsh#126, BitXor#136 Int32 139 Goto → block 4 Block 4 140 Constant object 104289c3f040 (LexicalEnvironment) Object 141 Constant object 104289c3e030 (global) Object 142 Constant function complex3 (-e:11) at 104289c6c938 Object 143 Constant undefined Undefined 144 Constant 0x2 Int32 145 Constant function complex3 (-e:11) at 104289c6c938 Object 146 GuardSpecificFunction ← Constant#142, Constant#145 Object 147 Call ← GuardSpecificFunction#146, Constant#143, Phi#90, Call#112 Value 148 Constant object 104289c3f040 (LexicalEnvironment) Object 149 Constant object 104289c3e030 (global) Object 150 Constant function complex4 (-e:17) at 104289c6c890 Object 151 Constant undefined Undefined 152 Constant shape at 104289c64f00 Shape 153 NewArrayObject ← Constant#152 Object 154 Constant 0x0 Int32 155 Elements ← NewArrayObject#153 Elements 156 PostWriteBarrier ← NewArrayObject#153, Call#112 157 StoreElement ← Elements#155, Constant#154, Call#112 158 SetInitializedLength ← Elements#155, Constant#154 159 Constant 0x1 Int32 160 Elements ← NewArrayObject#153 Elements 161 PostWriteBarrier ← NewArrayObject#153, BitOr#137 162 StoreElement ← Elements#160, Constant#159, BitOr#137 163 SetInitializedLength ← Elements#160, Constant#159 164 Constant 0x2 Int32 165 Elements ← NewArrayObject#153 Elements 166 PostWriteBarrier ← NewArrayObject#153, Call#147 167 StoreElement ← Elements#165, Constant#164, Call#147 168 SetInitializedLength ← Elements#165, Constant#164 169 Constant 0x3 Int32 170 Elements ← NewArrayObject#153 Elements 171 PostWriteBarrier ← NewArrayObject#153, Phi#95 172 StoreElement ← Elements#170, Constant#169, Phi#95 173 SetInitializedLength ← Elements#170, Constant#169 174 Constant 0x1 Int32 175 Constant function complex4 (-e:17) at 104289c6c890 Object 176 GuardSpecificFunction ← Constant#150, Constant#175 Object 177 Goto → block 5 Block 5 178 Constant undefined Undefined 179 FunctionEnvironment ← GuardSpecificFunction#176 Object 180 GuardShape ← NewArrayObject#153 Object 181 Constant object 104289c3e088 (Array) Object 182 Constant function map (self-hosted:163) at 104289c47920 Object 183 Constant function complex4/< (-e:18) at 104289c63d28 Object 184 Lambda ← FunctionEnvironment#179, Constant#183 Object 185 Constant 0x1 Int32 186 Constant function map (self-hosted:163) at 104289c47920 Object 187 GuardSpecificFunction ← Constant#182, Constant#186 Object 188 Goto → block 6 Block 6 189 Constant undefined Undefined 190 Constant function ToObject at 104289c6c740 Object 191 DebugCheckSelfHosted ← Constant#190 Value 192 Constant undefined Undefined 193 Constant 0x1 Int32 194 Constant function ToLength at 104289c6c778 Object 195 DebugCheckSelfHosted ← Constant#194 Value 196 Constant undefined Undefined 197 GuardShape ← NewArrayObject#153 Object 198 Elements ← GuardShape#197 Elements 199 ArrayLength ← Elements#198 Int32 200 Constant 0x1 Int32 201 Constant 0x0 Int32 202 MinMax ← ArrayLength#199, Constant#201 (max) Int32 203 Constant 0x1 Int32 204 Constant 0x0 Int32 205 Compare ← Constant#203, Constant#204 StrictEq Bool 206 Test ← Compare#205 → block 7, block 8 1 0 Block 7 207 CallGetIntrinsicValue Value 208 DebugCheckSelfHosted ← CallGetIntrinsicValue#207 Value 209 Constant undefined Undefined 210 Constant 0x37 Int32 211 Constant 0x0 Int32 212 Constant string 104289c2e080 String 213 Bail 718 Unreachable Block 8 216 Constant function IsCallable at 104289c6c7b0 Object 217 DebugCheckSelfHosted ← Constant#216 Value 218 Constant undefined Undefined 219 Constant 0x1 Int32 220 IsCallable ← Lambda#184 Bool 221 Test ← IsCallable#220 → block 10, block 9 1 0 Block 9 222 CallGetIntrinsicValue Value 223 DebugCheckSelfHosted ← CallGetIntrinsicValue#222 Value 224 Constant undefined Undefined 225 Constant 0xc Int32 226 CallGetIntrinsicValue Value 227 DebugCheckSelfHosted ← CallGetIntrinsicValue#226 Value 228 Constant undefined Undefined 229 Constant 0x0 Int32 230 Bail 717 Unreachable Block 10 235 Constant 0x1 Int32 236 Constant 0x1 Int32 237 Compare ← Constant#235, Constant#236 Gt Bool 238 Test ← Compare#237 → block 11, block 12 1 0 Block 11 239 Constant 0x1 Int32 240 GetInlinedArgument ← Constant#239, Lambda#184 Value 241 Goto → block 13 Block 12 242 Constant undefined Undefined 243 Goto → block 13 Block 13 244 Phi ← Constant#242, GetInlinedArgument#240 Value 245 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 246 DebugCheckSelfHosted ← Constant#245 Value 247 Constant undefined Undefined 248 Constant 0x1 Int32 249 HasShape ← NewArrayObject#153 Bool 250 Test ← HasShape#249 → block 14, block 15 1 0 Block 14 251 Constant function std_Array at 104289c6c820 Object 252 DebugCheckSelfHosted ← Constant#251 Value 253 Constant undefined Undefined 254 Constant 0x1 Int32 255 Unbox DebugCheckSelfHosted#252 to Object (fallible) Object 256 Constant function std_Array at 104289c6c820 Object 257 GuardSpecificFunction ← Unbox#255, Constant#256 Object 258 NewArrayDynamicLength ← MinMax#202 Object 259 Goto → block 16 Block 15 260 CallGetIntrinsicValue Value 261 DebugCheckSelfHosted ← CallGetIntrinsicValue#260 Value 262 Constant undefined Undefined 263 Bail 716 Unreachable Block 16 266 Phi ← NewArrayDynamicLength#258 Value 267 Constant 0x0 Int32 279 Goto → block 17 Block 17 (loop header) 268 Phi ← Constant#189, Constant#189 Value 269 Phi ← Constant#189, Constant#189 Value 270 Phi ← NewArrayObject#153, NewArrayObject#153 Value 271 Phi ← Lambda#184, Lambda#184 Value 272 Phi ← NewArrayObject#153, NewArrayObject#153 Value 273 Phi ← MinMax#202, MinMax#202 Value 274 Phi ← Phi#244, Phi#244 Value 275 Phi ← Phi#266, Phi#266 Value 276 Phi ← Constant#267, Add#324 Value 277 Phi ← Constant#189, Phi#321 Value 278 Phi ← NewArrayObject#153, NewArrayObject#153 Value 280 InterruptCheck 281 Unbox Phi#276 to Int32 (fallible) Int32 282 Unbox Phi#273 to Int32 (fallible) Int32 283 Compare ← Unbox#281, Unbox#282 Lt Bool 284 Test ← Compare#283 → block 18, block 24 1 0 Block 18 285 Unbox Phi#272 to Object (fallible) Object 286 Unbox Phi#276 to Int32 (fallible) Int32 287 GuardShape ← Unbox#285 Object 288 Elements ← GuardShape#287 Elements 289 InitializedLength ← Elements#288 Int32 290 BoundsCheck ← Unbox#286, InitializedLength#289 Int32 291 SpectreMaskIndex ← BoundsCheck#290, InitializedLength#289 Int32 292 GuardElementNotHole ← Elements#288, SpectreMaskIndex#291 293 Constant true Bool 294 Test ← Constant#293 → block 20, block 19 1 0 Block 19 (split edge) 719 Goto → block 23 Block 20 295 Unbox Phi#272 to Object (fallible) Object 296 Unbox Phi#276 to Int32 (fallible) Int32 297 GuardShape ← Unbox#295 Object 298 Elements ← GuardShape#297 Elements 299 InitializedLength ← Elements#298 Int32 300 BoundsCheck ← Unbox#296, InitializedLength#299 Int32 301 SpectreMaskIndex ← BoundsCheck#300, InitializedLength#299 Int32 302 GuardElementsArePacked ← Elements#298 303 LoadElement ← Elements#298, SpectreMaskIndex#301 Value 304 Constant 0x3 Int32 305 Unbox Phi#271 to Object (fallible) Object 306 GuardToFunction ← Unbox#305 Object 307 GuardFunctionScript ← GuardToFunction#306 Object 308 Goto → block 21 Block 21 309 Constant undefined Undefined 310 Constant 0x2 Int32 311 Unbox LoadElement#303 to Double (fallible) Double 312 Mul ← Unbox#311, Constant#310 [double] Double 314 Goto → block 22 Block 22 315 Unbox Phi#275 to Object (fallible) Object 316 Unbox Phi#276 to Int32 (fallible) Int32 317 GuardShape ← Unbox#315 Object 318 Elements ← GuardShape#317 Elements 319 StoreElementHole ← GuardShape#317, Elements#318, Unbox#316, Mul#312 320 Goto → block 23 Block 23 (backedge) 321 Phi ← Mul#312, Phi#277 Value 322 Unbox Phi#276 to Int32 (fallible) Int32 323 Constant 0x1 Int32 324 Add ← Unbox#322, Constant#323 [int32] Int32 325 Goto → block 17 Block 24 328 Unbox Phi#275 to Object (fallible) Object 329 GuardShape ← Unbox#328 Object 330 Constant object 104289c3e088 (Array) Object 331 Constant function filter (self-hosted:183) at 104289c47970 Object 332 Constant function complex4/< (-e:18) at 104289c63d60 Object 333 Lambda ← FunctionEnvironment#179, Constant#332 Object 334 Constant 0x1 Int32 335 Constant function filter (self-hosted:183) at 104289c47970 Object 336 GuardSpecificFunction ← Constant#331, Constant#335 Object 337 Goto → block 25 Block 25 338 Constant undefined Undefined 339 Constant function ToObject at 104289c6c740 Object 340 DebugCheckSelfHosted ← Constant#339 Value 341 Constant undefined Undefined 342 Constant 0x1 Int32 343 Unbox Phi#275 to Object (fallible) Object 344 Constant function ToLength at 104289c6c778 Object 345 DebugCheckSelfHosted ← Constant#344 Value 346 Constant undefined Undefined 347 GuardShape ← Unbox#343 Object 348 Elements ← GuardShape#347 Elements 349 ArrayLength ← Elements#348 Int32 350 Constant 0x1 Int32 351 Constant 0x0 Int32 352 MinMax ← ArrayLength#349, Constant#351 (max) Int32 353 Constant 0x1 Int32 354 Constant 0x0 Int32 355 Compare ← Constant#353, Constant#354 StrictEq Bool 356 Test ← Compare#355 → block 26, block 27 1 0 Block 26 357 CallGetIntrinsicValue Value 358 DebugCheckSelfHosted ← CallGetIntrinsicValue#357 Value 359 Constant undefined Undefined 360 Constant 0x37 Int32 361 Constant 0x0 Int32 362 Constant string 104289c28540 String 363 Bail 715 Unreachable Block 27 366 Constant function IsCallable at 104289c6c7b0 Object 367 DebugCheckSelfHosted ← Constant#366 Value 368 Constant undefined Undefined 369 Constant 0x1 Int32 370 IsCallable ← Lambda#333 Bool 371 Test ← IsCallable#370 → block 29, block 28 1 0 Block 28 372 CallGetIntrinsicValue Value 373 DebugCheckSelfHosted ← CallGetIntrinsicValue#372 Value 374 Constant undefined Undefined 375 Constant 0xc Int32 376 CallGetIntrinsicValue Value 377 DebugCheckSelfHosted ← CallGetIntrinsicValue#376 Value 378 Constant undefined Undefined 379 Constant 0x0 Int32 380 Bail 714 Unreachable Block 29 385 Constant 0x1 Int32 386 Constant 0x1 Int32 387 Compare ← Constant#385, Constant#386 Gt Bool 388 Test ← Compare#387 → block 30, block 31 1 0 Block 30 389 Constant 0x1 Int32 390 GetInlinedArgument ← Constant#389, Lambda#333 Value 391 Goto → block 32 Block 31 392 Constant undefined Undefined 393 Goto → block 32 Block 32 394 Phi ← Constant#392, GetInlinedArgument#390 Value 395 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 396 DebugCheckSelfHosted ← Constant#395 Value 397 Constant undefined Undefined 398 Constant 0x1 Int32 399 HasShape ← Unbox#343 Bool 400 Test ← HasShape#399 → block 33, block 34 1 0 Block 33 401 Constant shape at 104289c64f00 Shape 402 NewArrayObject ← Constant#401 Object 403 Goto → block 35 Block 34 404 CallGetIntrinsicValue Value 405 DebugCheckSelfHosted ← CallGetIntrinsicValue#404 Value 406 Constant undefined Undefined 407 Constant 0x0 Int32 408 Bail 713 Unreachable Block 35 411 Phi ← NewArrayObject#402 Value 412 Constant 0x0 Int32 413 Constant 0x0 Int32 426 Goto → block 36 Block 36 (loop header) 414 Phi ← Constant#338, Constant#338 Value 415 Phi ← Constant#338, Constant#338 Value 416 Phi ← Phi#275, Phi#275 Value 417 Phi ← Lambda#333, Lambda#333 Value 418 Phi ← Unbox#343, Unbox#343 Value 419 Phi ← MinMax#352, MinMax#352 Value 420 Phi ← Phi#394, Phi#394 Value 421 Phi ← Phi#411, Phi#411 Value 422 Phi ← Constant#412, Add#475 Value 423 Phi ← Constant#413, Phi#471 Value 424 Phi ← Constant#338, Phi#472 Value 425 Phi ← Phi#275, Phi#275 Value 427 InterruptCheck 428 Unbox Phi#422 to Int32 (fallible) Int32 429 Unbox Phi#419 to Int32 (fallible) Int32 430 Compare ← Unbox#428, Unbox#429 Lt Bool 431 Test ← Compare#430 → block 37, block 45 1 0 Block 37 432 Unbox Phi#418 to Object (fallible) Object 433 Unbox Phi#422 to Int32 (fallible) Int32 434 GuardShape ← Unbox#432 Object 435 Elements ← GuardShape#434 Elements 436 InitializedLength ← Elements#435 Int32 437 BoundsCheck ← Unbox#433, InitializedLength#436 Int32 438 SpectreMaskIndex ← BoundsCheck#437, InitializedLength#436 Int32 439 GuardElementNotHole ← Elements#435, SpectreMaskIndex#438 440 Constant true Bool 441 Test ← Constant#440 → block 39, block 38 1 0 Block 38 (split edge) 720 Goto → block 44 Block 39 442 Unbox Phi#418 to Object (fallible) Object 443 Unbox Phi#422 to Int32 (fallible) Int32 444 GuardShape ← Unbox#442 Object 445 Elements ← GuardShape#444 Elements 446 InitializedLength ← Elements#445 Int32 447 BoundsCheck ← Unbox#443, InitializedLength#446 Int32 448 SpectreMaskIndex ← BoundsCheck#447, InitializedLength#446 Int32 449 GuardElementsArePacked ← Elements#445 450 LoadElement ← Elements#445, SpectreMaskIndex#448 Value 451 Constant 0x3 Int32 452 Unbox Phi#417 to Object (fallible) Object 453 GuardToFunction ← Unbox#452 Object 454 GuardFunctionScript ← GuardToFunction#453 Object 455 Goto → block 40 Block 40 456 Constant undefined Undefined 457 Constant 0x32 Int32 458 Unbox LoadElement#450 to Double (fallible) Double 459 Compare ← Unbox#458, Constant#457 Gt Bool 461 Goto → block 41 Block 41 462 Test ← Compare#459 → block 43, block 42 1 0 Block 42 (split edge) 721 Goto → block 44 Block 43 463 Unbox Phi#423 to Int32 (fallible) Int32 464 Constant 0x1 Int32 465 Add ← Unbox#463, Constant#464 [int32] Int32 466 Unbox Phi#421 to Object (fallible) Object 467 GuardShape ← Unbox#466 Object 468 Elements ← GuardShape#467 Elements 469 StoreElementHole ← GuardShape#467, Elements#468, Unbox#463, LoadElement#450 470 Goto → block 44 Block 44 (backedge) 471 Phi ← Add#465, Phi#423, Phi#423 Value 472 Phi ← LoadElement#450, Phi#424, LoadElement#450 Value 473 Unbox Phi#422 to Int32 (fallible) Int32 474 Constant 0x1 Int32 475 Add ← Unbox#473, Constant#474 [int32] Int32 476 Goto → block 36 Block 45 479 Unbox Phi#421 to Object (fallible) Object 480 GuardShape ← Unbox#479 Object 481 Constant object 104289c3e088 (Array) Object 482 Constant function reduce (self-hosted:205) at 104289c479c0 Object 483 Constant function complex4/< (-e:18) at 104289c63d98 Object 484 Lambda ← FunctionEnvironment#179, Constant#483 Object 485 Constant 0x0 Int32 486 Constant 0x2 Int32 487 Constant function reduce (self-hosted:205) at 104289c479c0 Object 488 GuardSpecificFunction ← Constant#482, Constant#487 Object 489 Call ← GuardSpecificFunction#488, Phi#421, Lambda#484, Constant#485 Value 491 Goto → block 46 Block 46 492 Constant object 104289c3f040 (LexicalEnvironment) Object 493 Constant object 104289c3e030 (global) Object 494 Constant function complex5 (-e:21) at 104289c6c900 Object 495 Constant undefined Undefined 496 Constant shape at 104289c64fc0 Shape 497 NewPlainObject ← Constant#496 Object 498 GuardShape ← NewPlainObject#497 Object 499 PostWriteBarrier ← GuardShape#498, Call#112 500 StoreFixedSlot ← GuardShape#498, Call#112 (slot 0) 501 GuardShape ← NewPlainObject#497 Object 502 PostWriteBarrier ← GuardShape#501, BitOr#137 503 StoreFixedSlot ← GuardShape#501, BitOr#137 (slot 1) 504 GuardShape ← NewPlainObject#497 Object 505 PostWriteBarrier ← GuardShape#504, Call#147 506 StoreFixedSlot ← GuardShape#504, Call#147 (slot 2) 507 Constant 0x1 Int32 508 Constant function complex5 (-e:21) at 104289c6c900 Object 509 GuardSpecificFunction ← Constant#494, Constant#508 Object 510 Goto → block 47 Block 47 511 Constant undefined Undefined 512 FunctionEnvironment ← GuardSpecificFunction#509 Object 513 Constant object 104289c3f078 (Call) Object 514 NewCallObject ← Constant#513 Object 515 AssertCanElidePostWriteBarrier ← NewCallObject#514, FunctionEnvironment#512 516 AssertCanElidePostWriteBarrier ← NewCallObject#514, GuardSpecificFunction#509 517 StoreFixedSlot ← NewCallObject#514, FunctionEnvironment#512 (slot 0) 518 StoreFixedSlot ← NewCallObject#514, GuardSpecificFunction#509 (slot 1) 519 PostWriteBarrier ← NewCallObject#514, NewPlainObject#497 520 StoreFixedSlot ← NewCallObject#514, NewPlainObject#497 (slot 2) 521 Constant object 104289c3f040 (LexicalEnvironment) Object 522 Constant object 104289c3e030 (global) Object 523 Constant function Object at 104289c422e0 Object 524 Constant function Object at 104289c422e0 Object 525 GuardObjectIdentity ← Constant#523, Constant#524 Object 526 Constant function keys at 104289c42468 Object 527 LoadFixedSlot ← NewCallObject#514 (slot 2) Value 528 Constant 0x1 Int32 529 Constant function keys at 104289c42468 Object 530 GuardSpecificFunction ← Constant#526, Constant#529 Object 531 Unbox LoadFixedSlot#527 to Object (fallible) Object 532 GuardIsNotProxy ← Unbox#531 Object 533 ObjectKeys ← GuardIsNotProxy#532 Object 534 GuardShape ← ObjectKeys#533 Object 535 Constant object 104289c3e088 (Array) Object 536 Constant function map (self-hosted:163) at 104289c47920 Object 537 Constant function complex5/< (-e:22) at 104289c63e08 Object 538 Lambda ← NewCallObject#514, Constant#537 Object 539 Constant 0x1 Int32 540 Constant function map (self-hosted:163) at 104289c47920 Object 541 GuardSpecificFunction ← Constant#536, Constant#540 Object 542 Goto → block 48 Block 48 543 Constant undefined Undefined 544 Constant function ToObject at 104289c6c740 Object 545 DebugCheckSelfHosted ← Constant#544 Value 546 Constant undefined Undefined 547 Constant 0x1 Int32 548 Constant function ToLength at 104289c6c778 Object 549 DebugCheckSelfHosted ← Constant#548 Value 550 Constant undefined Undefined 551 GuardShape ← ObjectKeys#533 Object 552 Elements ← GuardShape#551 Elements 553 ArrayLength ← Elements#552 Int32 554 Constant 0x1 Int32 555 Constant 0x0 Int32 556 MinMax ← ArrayLength#553, Constant#555 (max) Int32 557 Constant 0x1 Int32 558 Constant 0x0 Int32 559 Compare ← Constant#557, Constant#558 StrictEq Bool 560 Test ← Compare#559 → block 49, block 50 1 0 Block 49 561 CallGetIntrinsicValue Value 562 DebugCheckSelfHosted ← CallGetIntrinsicValue#561 Value 563 Constant undefined Undefined 564 Constant 0x37 Int32 565 Constant 0x0 Int32 566 Constant string 104289c2e080 String 567 Bail 712 Unreachable Block 50 570 Constant function IsCallable at 104289c6c7b0 Object 571 DebugCheckSelfHosted ← Constant#570 Value 572 Constant undefined Undefined 573 Constant 0x1 Int32 574 IsCallable ← Lambda#538 Bool 575 Test ← IsCallable#574 → block 52, block 51 1 0 Block 51 576 CallGetIntrinsicValue Value 577 DebugCheckSelfHosted ← CallGetIntrinsicValue#576 Value 578 Constant undefined Undefined 579 Constant 0xc Int32 580 CallGetIntrinsicValue Value 581 DebugCheckSelfHosted ← CallGetIntrinsicValue#580 Value 582 Constant undefined Undefined 583 Constant 0x0 Int32 584 Bail 711 Unreachable Block 52 589 Constant 0x1 Int32 590 Constant 0x1 Int32 591 Compare ← Constant#589, Constant#590 Gt Bool 592 Test ← Compare#591 → block 53, block 54 1 0 Block 53 593 Constant 0x1 Int32 594 GetInlinedArgument ← Constant#593, Lambda#538 Value 595 Goto → block 55 Block 54 596 Constant undefined Undefined 597 Goto → block 55 Block 55 598 Phi ← Constant#596, GetInlinedArgument#594 Value 599 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 600 DebugCheckSelfHosted ← Constant#599 Value 601 Constant undefined Undefined 602 Constant 0x1 Int32 603 HasShape ← ObjectKeys#533 Bool 604 Test ← HasShape#603 → block 56, block 57 1 0 Block 56 605 Constant function std_Array at 104289c6c820 Object 606 DebugCheckSelfHosted ← Constant#605 Value 607 Constant undefined Undefined 608 Constant 0x1 Int32 609 Unbox DebugCheckSelfHosted#606 to Object (fallible) Object 610 Constant function std_Array at 104289c6c820 Object 611 GuardSpecificFunction ← Unbox#609, Constant#610 Object 612 NewArrayDynamicLength ← MinMax#556 Object 613 Goto → block 58 Block 57 614 CallGetIntrinsicValue Value 615 DebugCheckSelfHosted ← CallGetIntrinsicValue#614 Value 616 Constant undefined Undefined 617 Bail 710 Unreachable Block 58 620 Phi ← NewArrayDynamicLength#612 Value 621 Constant 0x0 Int32 633 Goto → block 59 Block 59 (loop header) 622 Phi ← Constant#543, Constant#543 Value 623 Phi ← Constant#543, Constant#543 Value 624 Phi ← ObjectKeys#533, ObjectKeys#533 Value 625 Phi ← Lambda#538, Lambda#538 Value 626 Phi ← ObjectKeys#533, ObjectKeys#533 Value 627 Phi ← MinMax#556, MinMax#556 Value 628 Phi ← Phi#598, Phi#598 Value 629 Phi ← Phi#620, Phi#620 Value 630 Phi ← Constant#621, Add#679 Value 631 Phi ← Constant#543, Phi#676 Value 632 Phi ← ObjectKeys#533, ObjectKeys#533 Value 634 InterruptCheck 635 Unbox Phi#630 to Int32 (fallible) Int32 636 Unbox Phi#627 to Int32 (fallible) Int32 637 Compare ← Unbox#635, Unbox#636 Lt Bool 638 Test ← Compare#637 → block 60, block 66 1 0 Block 60 639 Unbox Phi#626 to Object (fallible) Object 640 Unbox Phi#630 to Int32 (fallible) Int32 641 GuardShape ← Unbox#639 Object 642 Elements ← GuardShape#641 Elements 643 InitializedLength ← Elements#642 Int32 644 BoundsCheck ← Unbox#640, InitializedLength#643 Int32 645 SpectreMaskIndex ← BoundsCheck#644, InitializedLength#643 Int32 646 GuardElementNotHole ← Elements#642, SpectreMaskIndex#645 647 Constant true Bool 648 Test ← Constant#647 → block 62, block 61 1 0 Block 61 (split edge) 722 Goto → block 65 Block 62 649 Unbox Phi#626 to Object (fallible) Object 650 Unbox Phi#630 to Int32 (fallible) Int32 651 GuardShape ← Unbox#649 Object 652 Elements ← GuardShape#651 Elements 653 InitializedLength ← Elements#652 Int32 654 BoundsCheck ← Unbox#650, InitializedLength#653 Int32 655 SpectreMaskIndex ← BoundsCheck#654, InitializedLength#653 Int32 656 GuardElementsArePacked ← Elements#652 657 LoadElement ← Elements#652, SpectreMaskIndex#655 Value 658 Constant 0x3 Int32 659 Unbox Phi#625 to Object (fallible) Object 660 GuardToFunction ← Unbox#659 Object 661 GuardFunctionScript ← GuardToFunction#660 Object 662 Goto → block 63 Block 63 663 Constant undefined Undefined 664 FunctionEnvironment ← GuardFunctionScript#661 Object 665 LoadFixedSlot ← FunctionEnvironment#664 (slot 2) Value 666 Unbox LoadFixedSlot#665 to Object (fallible) Object 667 MegamorphicLoadSlotByValue ← Unbox#666, LoadElement#657 Value 669 Goto → block 64 Block 64 670 Unbox Phi#629 to Object (fallible) Object 671 Unbox Phi#630 to Int32 (fallible) Int32 672 GuardShape ← Unbox#670 Object 673 Elements ← GuardShape#672 Elements 674 StoreElementHole ← GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667 675 Goto → block 65 Block 65 (backedge) 676 Phi ← MegamorphicLoadSlotByValue#667, Phi#631 Value 677 Unbox Phi#630 to Int32 (fallible) Int32 678 Constant 0x1 Int32 679 Add ← Unbox#677, Constant#678 [int32] Int32 680 Goto → block 59 Block 66 683 Unbox Phi#629 to Object (fallible) Object 684 GuardShape ← Unbox#683 Object 685 Constant object 104289c3e088 (Array) Object 686 Constant function reduce (self-hosted:205) at 104289c479c0 Object 687 Constant function complex5/< (-e:22) at 104289c63e40 Object 688 Lambda ← NewCallObject#514, Constant#687 Object 689 Constant 0x0 Int32 690 Constant 0x2 Int32 691 Constant function reduce (self-hosted:205) at 104289c479c0 Object 692 GuardSpecificFunction ← Constant#686, Constant#691 Object 693 Call ← GuardSpecificFunction#692, Phi#629, Lambda#688, Constant#689 Value 695 Goto → block 67 Block 67 (backedge) 696 Unbox Phi#95 to Int32 (fallible) Int32 697 Constant 0x1 Int32 698 Add ← Unbox#696, Constant#697 [int32] Int32 699 Goto → block 1 Block 68 700 Unbox Phi#88 to Double (fallible) Double 701 Unbox Phi#89 to Double (fallible) Double 702 Add ← Unbox#700, Unbox#701 [double] Double 703 Unbox Phi#90 to Double (fallible) Double 704 Add ← Add#702, Unbox#703 [double] Double 705 Unbox Phi#92 to Double (fallible) Double 706 Add ← Add#704, Unbox#705 [double] Double 707 Unbox Phi#94 to Double (fallible) Double 708 Add ← Add#706, Unbox#707 [double] Double 709 Return ← Add#708
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant magic uninitialized-lexical MagicUninitializedLexical 6 Constant object 104289c3f040 (LexicalEnvironment) Object 7 Constant object 104289c3e030 (global) Object 8 Constant function complex1 (-e:2) at 104289c6c8c8 Object 9 Constant undefined Undefined 10 Constant 0x1 Int32 11 Constant function complex1 (-e:2) at 104289c6c8c8 Object 12 GuardSpecificFunction ← Constant#8, Constant#11 Object 13 Call ← GuardSpecificFunction#12, Constant#9, Parameter#1 Value 14 Constant object 104289c3f040 (LexicalEnvironment) Object 15 Constant object 104289c3e030 (global) Object 16 Constant function complex2 (-e:7) at 104289c6c970 Object 17 Constant undefined Undefined 18 Constant 0x1 Int32 19 Constant function complex2 (-e:7) at 104289c6c970 Object 20 GuardSpecificFunction ← Constant#16, Constant#19 Object 21 Call ← GuardSpecificFunction#20, Constant#17, Parameter#1 Value 22 Constant object 104289c3f040 (LexicalEnvironment) Object 23 Constant object 104289c3e030 (global) Object 24 Constant function complex3 (-e:11) at 104289c6c938 Object 25 Constant undefined Undefined 26 Constant 0x2 Int32 27 Constant function complex3 (-e:11) at 104289c6c938 Object 28 GuardSpecificFunction ← Constant#24, Constant#27 Object 29 Call ← GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13 Value 30 Constant shape at 104289c64f00 Shape 31 NewArrayObject ← Constant#30 Object 32 Constant 0x0 Int32 33 Elements ← NewArrayObject#31 Elements 34 PostWriteBarrier ← NewArrayObject#31, Call#13 35 StoreElement ← Elements#33, Constant#32, Call#13 36 SetInitializedLength ← Elements#33, Constant#32 37 Constant 0x1 Int32 38 Elements ← NewArrayObject#31 Elements 39 PostWriteBarrier ← NewArrayObject#31, Call#21 40 StoreElement ← Elements#38, Constant#37, Call#21 41 SetInitializedLength ← Elements#38, Constant#37 42 Constant 0x2 Int32 43 Elements ← NewArrayObject#31 Elements 44 PostWriteBarrier ← NewArrayObject#31, Call#29 45 StoreElement ← Elements#43, Constant#42, Call#29 46 SetInitializedLength ← Elements#43, Constant#42 47 Constant 0x3 Int32 48 Elements ← NewArrayObject#31 Elements 49 PostWriteBarrier ← NewArrayObject#31, Parameter#1 50 StoreElement ← Elements#48, Constant#47, Parameter#1 51 SetInitializedLength ← Elements#48, Constant#47 52 Constant object 104289c3f040 (LexicalEnvironment) Object 53 Constant object 104289c3e030 (global) Object 54 Constant function complex4 (-e:17) at 104289c6c890 Object 55 Constant undefined Undefined 56 Constant 0x1 Int32 57 Constant function complex4 (-e:17) at 104289c6c890 Object 58 GuardSpecificFunction ← Constant#54, Constant#57 Object 59 Call ← GuardSpecificFunction#58, Constant#55, NewArrayObject#31 Value 60 Constant shape at 104289c64fa0 Shape 61 NewPlainObject ← Constant#60 Object 62 GuardShape ← NewPlainObject#61 Object 63 PostWriteBarrier ← GuardShape#62, Call#13 64 StoreFixedSlot ← GuardShape#62, Call#13 (slot 0) 65 GuardShape ← NewPlainObject#61 Object 66 PostWriteBarrier ← GuardShape#65, Call#21 67 StoreFixedSlot ← GuardShape#65, Call#21 (slot 1) 68 GuardShape ← NewPlainObject#61 Object 69 PostWriteBarrier ← GuardShape#68, Call#29 70 StoreFixedSlot ← GuardShape#68, Call#29 (slot 2) 71 GuardShape ← NewPlainObject#61 Object 72 PostWriteBarrier ← GuardShape#71, Call#59 73 StoreFixedSlot ← GuardShape#71, Call#59 (slot 3) 74 Constant object 104289c3f040 (LexicalEnvironment) Object 75 Constant object 104289c3e030 (global) Object 76 Constant function complex5 (-e:21) at 104289c6c900 Object 77 Constant undefined Undefined 78 Constant 0x1 Int32 79 Constant function complex5 (-e:21) at 104289c6c900 Object 80 GuardSpecificFunction ← Constant#76, Constant#79 Object 81 Call ← GuardSpecificFunction#80, Constant#77, NewPlainObject#61 Value 82 Constant magic uninitialized-lexical MagicUninitializedLexical 83 Constant 0x0 Int32 96 Goto → block 1 Block 1 (loop header) 88 Phi ← Call#13, Call#112 Value 89 Phi ← Call#21, BitOr#137 Value 90 Phi ← Call#29, Call#147 Value 92 Phi ← Call#59, Call#489 Value 94 Phi ← Call#81, Call#693 Value 95 Phi ← Constant#83, Add#698 Value 97 InterruptCheck 98 Constant 0xa Int32 99 Unbox Phi#95 to Int32 (fallible) Int32 100 Compare ← Unbox#99, Constant#98 Lt Bool 101 Test ← Compare#100 → block 2, block 68 1 0 Block 2 102 Constant object 104289c3f040 (LexicalEnvironment) Object 103 Constant object 104289c3e030 (global) Object 104 Constant function complex1 (-e:2) at 104289c6c8c8 Object 105 Constant undefined Undefined 106 Unbox Phi#88 to Double (fallible) Double 107 Unbox Phi#95 to Double (fallible) Double 108 Add ← Unbox#106, Unbox#107 [double] Double 109 Constant 0x1 Int32 110 Constant function complex1 (-e:2) at 104289c6c8c8 Object 111 GuardSpecificFunction ← Constant#104, Constant#110 Object 112 Call ← GuardSpecificFunction#111, Constant#105, Add#108 Value 113 Constant object 104289c3f040 (LexicalEnvironment) Object 114 Constant object 104289c3e030 (global) Object 115 Constant function complex2 (-e:7) at 104289c6c970 Object 116 Constant undefined Undefined 117 Unbox Phi#89 to Int32 (fallible) Int32 118 Unbox Phi#95 to Int32 (fallible) Int32 119 Add ← Unbox#117, Unbox#118 [int32] Int32 120 Constant 0x1 Int32 121 Constant function complex2 (-e:7) at 104289c6c970 Object 122 GuardSpecificFunction ← Constant#115, Constant#121 Object 123 Goto → block 3 Block 3 124 Constant undefined Undefined 125 Constant 0x1 Int32 126 Lsh ← Add#119, Constant#125 Int32 127 Constant 0x1 Int32 128 Rsh ← Add#119, Constant#127 Int32 129 Constant 0xff Int32 130 BitAnd ← Add#119, Constant#129 Int32 131 Constant 0x2 Int32 132 Ursh ← Add#119, Constant#131 Int32 133 Add ← BitAnd#130, Ursh#132 [int32] Int32 134 BitNot ← Add#119 Int32 135 Sub ← Add#133, BitNot#134 [int32] Int32 136 BitXor ← Rsh#128, Sub#135 Int32 137 BitOr ← Lsh#126, BitXor#136 Int32 139 Goto → block 4 Block 4 140 Constant object 104289c3f040 (LexicalEnvironment) Object 141 Constant object 104289c3e030 (global) Object 142 Constant function complex3 (-e:11) at 104289c6c938 Object 143 Constant undefined Undefined 144 Constant 0x2 Int32 145 Constant function complex3 (-e:11) at 104289c6c938 Object 146 GuardSpecificFunction ← Constant#142, Constant#145 Object 147 Call ← GuardSpecificFunction#146, Constant#143, Phi#90, Call#112 Value 148 Constant object 104289c3f040 (LexicalEnvironment) Object 149 Constant object 104289c3e030 (global) Object 150 Constant function complex4 (-e:17) at 104289c6c890 Object 151 Constant undefined Undefined 152 Constant shape at 104289c64f00 Shape 153 NewArrayObject ← Constant#152 Object 154 Constant 0x0 Int32 155 Elements ← NewArrayObject#153 Elements 156 PostWriteBarrier ← NewArrayObject#153, Call#112 157 StoreElement ← Elements#155, Constant#154, Call#112 158 SetInitializedLength ← Elements#155, Constant#154 159 Constant 0x1 Int32 160 Elements ← NewArrayObject#153 Elements 161 PostWriteBarrier ← NewArrayObject#153, BitOr#137 162 StoreElement ← Elements#160, Constant#159, BitOr#137 163 SetInitializedLength ← Elements#160, Constant#159 164 Constant 0x2 Int32 165 Elements ← NewArrayObject#153 Elements 166 PostWriteBarrier ← NewArrayObject#153, Call#147 167 StoreElement ← Elements#165, Constant#164, Call#147 168 SetInitializedLength ← Elements#165, Constant#164 169 Constant 0x3 Int32 170 Elements ← NewArrayObject#153 Elements 171 PostWriteBarrier ← NewArrayObject#153, Phi#95 172 StoreElement ← Elements#170, Constant#169, Phi#95 173 SetInitializedLength ← Elements#170, Constant#169 174 Constant 0x1 Int32 175 Constant function complex4 (-e:17) at 104289c6c890 Object 176 GuardSpecificFunction ← Constant#150, Constant#175 Object 177 Goto → block 5 Block 5 178 Constant undefined Undefined 179 FunctionEnvironment ← GuardSpecificFunction#176 Object 180 GuardShape ← NewArrayObject#153 Object 181 Constant object 104289c3e088 (Array) Object 182 Constant function map (self-hosted:163) at 104289c47920 Object 183 Constant function complex4/< (-e:18) at 104289c63d28 Object 184 Lambda ← FunctionEnvironment#179, Constant#183 Object 185 Constant 0x1 Int32 186 Constant function map (self-hosted:163) at 104289c47920 Object 187 GuardSpecificFunction ← Constant#182, Constant#186 Object 188 Goto → block 6 Block 6 189 Constant undefined Undefined 190 Constant function ToObject at 104289c6c740 Object 191 DebugCheckSelfHosted ← Constant#190 Value 192 Constant undefined Undefined 193 Constant 0x1 Int32 194 Constant function ToLength at 104289c6c778 Object 195 DebugCheckSelfHosted ← Constant#194 Value 196 Constant undefined Undefined 197 GuardShape ← NewArrayObject#153 Object 198 Elements ← GuardShape#197 Elements 199 ArrayLength ← Elements#198 Int32 200 Constant 0x1 Int32 201 Constant 0x0 Int32 202 MinMax ← ArrayLength#199, Constant#201 (max) Int32 203 Constant 0x1 Int32 204 Constant 0x0 Int32 205 Compare ← Constant#203, Constant#204 StrictEq Bool 206 Test ← Compare#205 → block 7, block 8 1 0 Block 7 207 CallGetIntrinsicValue Value 208 DebugCheckSelfHosted ← CallGetIntrinsicValue#207 Value 209 Constant undefined Undefined 210 Constant 0x37 Int32 211 Constant 0x0 Int32 212 Constant string 104289c2e080 String 213 Bail 718 Unreachable Block 8 216 Constant function IsCallable at 104289c6c7b0 Object 217 DebugCheckSelfHosted ← Constant#216 Value 218 Constant undefined Undefined 219 Constant 0x1 Int32 220 IsCallable ← Lambda#184 Bool 221 Test ← IsCallable#220 → block 10, block 9 1 0 Block 9 222 CallGetIntrinsicValue Value 223 DebugCheckSelfHosted ← CallGetIntrinsicValue#222 Value 224 Constant undefined Undefined 225 Constant 0xc Int32 226 CallGetIntrinsicValue Value 227 DebugCheckSelfHosted ← CallGetIntrinsicValue#226 Value 228 Constant undefined Undefined 229 Constant 0x0 Int32 230 Bail 717 Unreachable Block 10 235 Constant 0x1 Int32 236 Constant 0x1 Int32 237 Compare ← Constant#235, Constant#236 Gt Bool 238 Test ← Compare#237 → block 11, block 12 1 0 Block 11 239 Constant 0x1 Int32 240 GetInlinedArgument ← Constant#239, Lambda#184 Value 241 Goto → block 13 Block 12 242 Constant undefined Undefined 243 Goto → block 13 Block 13 244 Phi ← Constant#242, GetInlinedArgument#240 Value 245 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 246 DebugCheckSelfHosted ← Constant#245 Value 247 Constant undefined Undefined 248 Constant 0x1 Int32 249 HasShape ← NewArrayObject#153 Bool 250 Test ← HasShape#249 → block 14, block 15 1 0 Block 14 251 Constant function std_Array at 104289c6c820 Object 252 DebugCheckSelfHosted ← Constant#251 Value 253 Constant undefined Undefined 254 Constant 0x1 Int32 255 Unbox DebugCheckSelfHosted#252 to Object (fallible) Object 256 Constant function std_Array at 104289c6c820 Object 257 GuardSpecificFunction ← Unbox#255, Constant#256 Object 258 NewArrayDynamicLength ← MinMax#202 Object 259 Goto → block 16 Block 15 260 CallGetIntrinsicValue Value 261 DebugCheckSelfHosted ← CallGetIntrinsicValue#260 Value 262 Constant undefined Undefined 263 Bail 716 Unreachable Block 16 267 Constant 0x0 Int32 279 Goto → block 17 Block 17 (loop header) 276 Phi ← Constant#267, Add#324 Value 734 Constant magic optimized-out MagicOptimizedOut 280 InterruptCheck 281 Unbox Phi#276 to Int32 (fallible) Int32 282 Unbox MinMax#202 to Int32 (fallible) Int32 283 Compare ← Unbox#281, Unbox#282 Lt Bool 284 Test ← Compare#283 → block 18, block 24 1 0 Block 18 739 Constant magic optimized-out MagicOptimizedOut 285 Unbox NewArrayObject#153 to Object (fallible) Object 286 Unbox Phi#276 to Int32 (fallible) Int32 287 GuardShape ← Unbox#285 Object 288 Elements ← GuardShape#287 Elements 289 InitializedLength ← Elements#288 Int32 290 BoundsCheck ← Unbox#286, InitializedLength#289 Int32 291 SpectreMaskIndex ← BoundsCheck#290, InitializedLength#289 Int32 292 GuardElementNotHole ← Elements#288, SpectreMaskIndex#291 293 Constant true Bool 294 Test ← Constant#293 → block 20, block 19 1 0 Block 19 (split edge) 736 Constant magic optimized-out MagicOptimizedOut 719 Goto → block 23 Block 20 738 Constant magic optimized-out MagicOptimizedOut 295 Unbox NewArrayObject#153 to Object (fallible) Object 296 Unbox Phi#276 to Int32 (fallible) Int32 297 GuardShape ← Unbox#295 Object 298 Elements ← GuardShape#297 Elements 299 InitializedLength ← Elements#298 Int32 300 BoundsCheck ← Unbox#296, InitializedLength#299 Int32 301 SpectreMaskIndex ← BoundsCheck#300, InitializedLength#299 Int32 302 GuardElementsArePacked ← Elements#298 303 LoadElement ← Elements#298, SpectreMaskIndex#301 Value 304 Constant 0x3 Int32 305 Unbox Lambda#184 to Object (fallible) Object 306 GuardToFunction ← Unbox#305 Object 307 GuardFunctionScript ← GuardToFunction#306 Object 308 Goto → block 21 Block 21 309 Constant undefined Undefined 310 Constant 0x2 Int32 311 Unbox LoadElement#303 to Double (fallible) Double 312 Mul ← Unbox#311, Constant#310 [double] Double 314 Goto → block 22 Block 22 737 Constant magic optimized-out MagicOptimizedOut 315 Unbox NewArrayDynamicLength#258 to Object (fallible) Object 316 Unbox Phi#276 to Int32 (fallible) Int32 317 GuardShape ← Unbox#315 Object 318 Elements ← GuardShape#317 Elements 319 StoreElementHole ← GuardShape#317, Elements#318, Unbox#316, Mul#312 320 Goto → block 23 Block 23 (backedge) 735 Constant magic optimized-out MagicOptimizedOut 322 Unbox Phi#276 to Int32 (fallible) Int32 323 Constant 0x1 Int32 324 Add ← Unbox#322, Constant#323 [int32] Int32 325 Goto → block 17 Block 24 328 Unbox NewArrayDynamicLength#258 to Object (fallible) Object 329 GuardShape ← Unbox#328 Object 330 Constant object 104289c3e088 (Array) Object 331 Constant function filter (self-hosted:183) at 104289c47970 Object 332 Constant function complex4/< (-e:18) at 104289c63d60 Object 333 Lambda ← FunctionEnvironment#179, Constant#332 Object 334 Constant 0x1 Int32 335 Constant function filter (self-hosted:183) at 104289c47970 Object 336 GuardSpecificFunction ← Constant#331, Constant#335 Object 337 Goto → block 25 Block 25 338 Constant undefined Undefined 339 Constant function ToObject at 104289c6c740 Object 340 DebugCheckSelfHosted ← Constant#339 Value 341 Constant undefined Undefined 342 Constant 0x1 Int32 343 Unbox NewArrayDynamicLength#258 to Object (fallible) Object 344 Constant function ToLength at 104289c6c778 Object 345 DebugCheckSelfHosted ← Constant#344 Value 346 Constant undefined Undefined 347 GuardShape ← Unbox#343 Object 348 Elements ← GuardShape#347 Elements 349 ArrayLength ← Elements#348 Int32 350 Constant 0x1 Int32 351 Constant 0x0 Int32 352 MinMax ← ArrayLength#349, Constant#351 (max) Int32 353 Constant 0x1 Int32 354 Constant 0x0 Int32 355 Compare ← Constant#353, Constant#354 StrictEq Bool 356 Test ← Compare#355 → block 26, block 27 1 0 Block 26 357 CallGetIntrinsicValue Value 358 DebugCheckSelfHosted ← CallGetIntrinsicValue#357 Value 359 Constant undefined Undefined 360 Constant 0x37 Int32 361 Constant 0x0 Int32 362 Constant string 104289c28540 String 363 Bail 715 Unreachable Block 27 366 Constant function IsCallable at 104289c6c7b0 Object 367 DebugCheckSelfHosted ← Constant#366 Value 368 Constant undefined Undefined 369 Constant 0x1 Int32 370 IsCallable ← Lambda#333 Bool 371 Test ← IsCallable#370 → block 29, block 28 1 0 Block 28 372 CallGetIntrinsicValue Value 373 DebugCheckSelfHosted ← CallGetIntrinsicValue#372 Value 374 Constant undefined Undefined 375 Constant 0xc Int32 376 CallGetIntrinsicValue Value 377 DebugCheckSelfHosted ← CallGetIntrinsicValue#376 Value 378 Constant undefined Undefined 379 Constant 0x0 Int32 380 Bail 714 Unreachable Block 29 385 Constant 0x1 Int32 386 Constant 0x1 Int32 387 Compare ← Constant#385, Constant#386 Gt Bool 388 Test ← Compare#387 → block 30, block 31 1 0 Block 30 389 Constant 0x1 Int32 390 GetInlinedArgument ← Constant#389, Lambda#333 Value 391 Goto → block 32 Block 31 392 Constant undefined Undefined 393 Goto → block 32 Block 32 394 Phi ← Constant#392, GetInlinedArgument#390 Value 395 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 396 DebugCheckSelfHosted ← Constant#395 Value 397 Constant undefined Undefined 398 Constant 0x1 Int32 399 HasShape ← Unbox#343 Bool 400 Test ← HasShape#399 → block 33, block 34 1 0 Block 33 401 Constant shape at 104289c64f00 Shape 402 NewArrayObject ← Constant#401 Object 403 Goto → block 35 Block 34 404 CallGetIntrinsicValue Value 405 DebugCheckSelfHosted ← CallGetIntrinsicValue#404 Value 406 Constant undefined Undefined 407 Constant 0x0 Int32 408 Bail 713 Unreachable Block 35 412 Constant 0x0 Int32 413 Constant 0x0 Int32 426 Goto → block 36 Block 36 (loop header) 422 Phi ← Constant#412, Add#475 Value 423 Phi ← Constant#413, Phi#471 Value 729 Constant magic optimized-out MagicOptimizedOut 427 InterruptCheck 428 Unbox Phi#422 to Int32 (fallible) Int32 429 Unbox MinMax#352 to Int32 (fallible) Int32 430 Compare ← Unbox#428, Unbox#429 Lt Bool 431 Test ← Compare#430 → block 37, block 45 1 0 Block 37 733 Constant magic optimized-out MagicOptimizedOut 432 Unbox Unbox#343 to Object (fallible) Object 433 Unbox Phi#422 to Int32 (fallible) Int32 434 GuardShape ← Unbox#432 Object 435 Elements ← GuardShape#434 Elements 436 InitializedLength ← Elements#435 Int32 437 BoundsCheck ← Unbox#433, InitializedLength#436 Int32 438 SpectreMaskIndex ← BoundsCheck#437, InitializedLength#436 Int32 439 GuardElementNotHole ← Elements#435, SpectreMaskIndex#438 440 Constant true Bool 441 Test ← Constant#440 → block 39, block 38 1 0 Block 38 (split edge) 731 Constant magic optimized-out MagicOptimizedOut 720 Goto → block 44 Block 39 732 Constant magic optimized-out MagicOptimizedOut 442 Unbox Unbox#343 to Object (fallible) Object 443 Unbox Phi#422 to Int32 (fallible) Int32 444 GuardShape ← Unbox#442 Object 445 Elements ← GuardShape#444 Elements 446 InitializedLength ← Elements#445 Int32 447 BoundsCheck ← Unbox#443, InitializedLength#446 Int32 448 SpectreMaskIndex ← BoundsCheck#447, InitializedLength#446 Int32 449 GuardElementsArePacked ← Elements#445 450 LoadElement ← Elements#445, SpectreMaskIndex#448 Value 451 Constant 0x3 Int32 452 Unbox Lambda#333 to Object (fallible) Object 453 GuardToFunction ← Unbox#452 Object 454 GuardFunctionScript ← GuardToFunction#453 Object 455 Goto → block 40 Block 40 456 Constant undefined Undefined 457 Constant 0x32 Int32 458 Unbox LoadElement#450 to Double (fallible) Double 459 Compare ← Unbox#458, Constant#457 Gt Bool 461 Goto → block 41 Block 41 462 Test ← Compare#459 → block 43, block 42 1 0 Block 42 (split edge) 721 Goto → block 44 Block 43 463 Unbox Phi#423 to Int32 (fallible) Int32 464 Constant 0x1 Int32 465 Add ← Unbox#463, Constant#464 [int32] Int32 466 Unbox NewArrayObject#402 to Object (fallible) Object 467 GuardShape ← Unbox#466 Object 468 Elements ← GuardShape#467 Elements 469 StoreElementHole ← GuardShape#467, Elements#468, Unbox#463, LoadElement#450 470 Goto → block 44 Block 44 (backedge) 471 Phi ← Add#465, Phi#423, Phi#423 Value 730 Constant magic optimized-out MagicOptimizedOut 473 Unbox Phi#422 to Int32 (fallible) Int32 474 Constant 0x1 Int32 475 Add ← Unbox#473, Constant#474 [int32] Int32 476 Goto → block 36 Block 45 479 Unbox NewArrayObject#402 to Object (fallible) Object 480 GuardShape ← Unbox#479 Object 481 Constant object 104289c3e088 (Array) Object 482 Constant function reduce (self-hosted:205) at 104289c479c0 Object 483 Constant function complex4/< (-e:18) at 104289c63d98 Object 484 Lambda ← FunctionEnvironment#179, Constant#483 Object 485 Constant 0x0 Int32 486 Constant 0x2 Int32 487 Constant function reduce (self-hosted:205) at 104289c479c0 Object 488 GuardSpecificFunction ← Constant#482, Constant#487 Object 489 Call ← GuardSpecificFunction#488, NewArrayObject#402, Lambda#484, Constant#485 Value 491 Goto → block 46 Block 46 492 Constant object 104289c3f040 (LexicalEnvironment) Object 493 Constant object 104289c3e030 (global) Object 494 Constant function complex5 (-e:21) at 104289c6c900 Object 495 Constant undefined Undefined 496 Constant shape at 104289c64fc0 Shape 497 NewPlainObject ← Constant#496 Object 498 GuardShape ← NewPlainObject#497 Object 499 PostWriteBarrier ← GuardShape#498, Call#112 500 StoreFixedSlot ← GuardShape#498, Call#112 (slot 0) 501 GuardShape ← NewPlainObject#497 Object 502 PostWriteBarrier ← GuardShape#501, BitOr#137 503 StoreFixedSlot ← GuardShape#501, BitOr#137 (slot 1) 504 GuardShape ← NewPlainObject#497 Object 505 PostWriteBarrier ← GuardShape#504, Call#147 506 StoreFixedSlot ← GuardShape#504, Call#147 (slot 2) 507 Constant 0x1 Int32 508 Constant function complex5 (-e:21) at 104289c6c900 Object 509 GuardSpecificFunction ← Constant#494, Constant#508 Object 510 Goto → block 47 Block 47 511 Constant undefined Undefined 512 FunctionEnvironment ← GuardSpecificFunction#509 Object 513 Constant object 104289c3f078 (Call) Object 514 NewCallObject ← Constant#513 Object 515 AssertCanElidePostWriteBarrier ← NewCallObject#514, FunctionEnvironment#512 516 AssertCanElidePostWriteBarrier ← NewCallObject#514, GuardSpecificFunction#509 517 StoreFixedSlot ← NewCallObject#514, FunctionEnvironment#512 (slot 0) 518 StoreFixedSlot ← NewCallObject#514, GuardSpecificFunction#509 (slot 1) 519 PostWriteBarrier ← NewCallObject#514, NewPlainObject#497 520 StoreFixedSlot ← NewCallObject#514, NewPlainObject#497 (slot 2) 521 Constant object 104289c3f040 (LexicalEnvironment) Object 522 Constant object 104289c3e030 (global) Object 523 Constant function Object at 104289c422e0 Object 524 Constant function Object at 104289c422e0 Object 525 GuardObjectIdentity ← Constant#523, Constant#524 Object 526 Constant function keys at 104289c42468 Object 527 LoadFixedSlot ← NewCallObject#514 (slot 2) Value 528 Constant 0x1 Int32 529 Constant function keys at 104289c42468 Object 530 GuardSpecificFunction ← Constant#526, Constant#529 Object 531 Unbox LoadFixedSlot#527 to Object (fallible) Object 532 GuardIsNotProxy ← Unbox#531 Object 533 ObjectKeys ← GuardIsNotProxy#532 Object 534 GuardShape ← ObjectKeys#533 Object 535 Constant object 104289c3e088 (Array) Object 536 Constant function map (self-hosted:163) at 104289c47920 Object 537 Constant function complex5/< (-e:22) at 104289c63e08 Object 538 Lambda ← NewCallObject#514, Constant#537 Object 539 Constant 0x1 Int32 540 Constant function map (self-hosted:163) at 104289c47920 Object 541 GuardSpecificFunction ← Constant#536, Constant#540 Object 542 Goto → block 48 Block 48 543 Constant undefined Undefined 544 Constant function ToObject at 104289c6c740 Object 545 DebugCheckSelfHosted ← Constant#544 Value 546 Constant undefined Undefined 547 Constant 0x1 Int32 548 Constant function ToLength at 104289c6c778 Object 549 DebugCheckSelfHosted ← Constant#548 Value 550 Constant undefined Undefined 551 GuardShape ← ObjectKeys#533 Object 552 Elements ← GuardShape#551 Elements 553 ArrayLength ← Elements#552 Int32 554 Constant 0x1 Int32 555 Constant 0x0 Int32 556 MinMax ← ArrayLength#553, Constant#555 (max) Int32 557 Constant 0x1 Int32 558 Constant 0x0 Int32 559 Compare ← Constant#557, Constant#558 StrictEq Bool 560 Test ← Compare#559 → block 49, block 50 1 0 Block 49 561 CallGetIntrinsicValue Value 562 DebugCheckSelfHosted ← CallGetIntrinsicValue#561 Value 563 Constant undefined Undefined 564 Constant 0x37 Int32 565 Constant 0x0 Int32 566 Constant string 104289c2e080 String 567 Bail 712 Unreachable Block 50 570 Constant function IsCallable at 104289c6c7b0 Object 571 DebugCheckSelfHosted ← Constant#570 Value 572 Constant undefined Undefined 573 Constant 0x1 Int32 574 IsCallable ← Lambda#538 Bool 575 Test ← IsCallable#574 → block 52, block 51 1 0 Block 51 576 CallGetIntrinsicValue Value 577 DebugCheckSelfHosted ← CallGetIntrinsicValue#576 Value 578 Constant undefined Undefined 579 Constant 0xc Int32 580 CallGetIntrinsicValue Value 581 DebugCheckSelfHosted ← CallGetIntrinsicValue#580 Value 582 Constant undefined Undefined 583 Constant 0x0 Int32 584 Bail 711 Unreachable Block 52 589 Constant 0x1 Int32 590 Constant 0x1 Int32 591 Compare ← Constant#589, Constant#590 Gt Bool 592 Test ← Compare#591 → block 53, block 54 1 0 Block 53 593 Constant 0x1 Int32 594 GetInlinedArgument ← Constant#593, Lambda#538 Value 595 Goto → block 55 Block 54 596 Constant undefined Undefined 597 Goto → block 55 Block 55 598 Phi ← Constant#596, GetInlinedArgument#594 Value 599 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 600 DebugCheckSelfHosted ← Constant#599 Value 601 Constant undefined Undefined 602 Constant 0x1 Int32 603 HasShape ← ObjectKeys#533 Bool 604 Test ← HasShape#603 → block 56, block 57 1 0 Block 56 605 Constant function std_Array at 104289c6c820 Object 606 DebugCheckSelfHosted ← Constant#605 Value 607 Constant undefined Undefined 608 Constant 0x1 Int32 609 Unbox DebugCheckSelfHosted#606 to Object (fallible) Object 610 Constant function std_Array at 104289c6c820 Object 611 GuardSpecificFunction ← Unbox#609, Constant#610 Object 612 NewArrayDynamicLength ← MinMax#556 Object 613 Goto → block 58 Block 57 614 CallGetIntrinsicValue Value 615 DebugCheckSelfHosted ← CallGetIntrinsicValue#614 Value 616 Constant undefined Undefined 617 Bail 710 Unreachable Block 58 621 Constant 0x0 Int32 633 Goto → block 59 Block 59 (loop header) 630 Phi ← Constant#621, Add#679 Value 723 Constant magic optimized-out MagicOptimizedOut 634 InterruptCheck 635 Unbox Phi#630 to Int32 (fallible) Int32 636 Unbox MinMax#556 to Int32 (fallible) Int32 637 Compare ← Unbox#635, Unbox#636 Lt Bool 638 Test ← Compare#637 → block 60, block 66 1 0 Block 60 728 Constant magic optimized-out MagicOptimizedOut 639 Unbox ObjectKeys#533 to Object (fallible) Object 640 Unbox Phi#630 to Int32 (fallible) Int32 641 GuardShape ← Unbox#639 Object 642 Elements ← GuardShape#641 Elements 643 InitializedLength ← Elements#642 Int32 644 BoundsCheck ← Unbox#640, InitializedLength#643 Int32 645 SpectreMaskIndex ← BoundsCheck#644, InitializedLength#643 Int32 646 GuardElementNotHole ← Elements#642, SpectreMaskIndex#645 647 Constant true Bool 648 Test ← Constant#647 → block 62, block 61 1 0 Block 61 (split edge) 725 Constant magic optimized-out MagicOptimizedOut 722 Goto → block 65 Block 62 727 Constant magic optimized-out MagicOptimizedOut 649 Unbox ObjectKeys#533 to Object (fallible) Object 650 Unbox Phi#630 to Int32 (fallible) Int32 651 GuardShape ← Unbox#649 Object 652 Elements ← GuardShape#651 Elements 653 InitializedLength ← Elements#652 Int32 654 BoundsCheck ← Unbox#650, InitializedLength#653 Int32 655 SpectreMaskIndex ← BoundsCheck#654, InitializedLength#653 Int32 656 GuardElementsArePacked ← Elements#652 657 LoadElement ← Elements#652, SpectreMaskIndex#655 Value 658 Constant 0x3 Int32 659 Unbox Lambda#538 to Object (fallible) Object 660 GuardToFunction ← Unbox#659 Object 661 GuardFunctionScript ← GuardToFunction#660 Object 662 Goto → block 63 Block 63 663 Constant undefined Undefined 664 FunctionEnvironment ← GuardFunctionScript#661 Object 665 LoadFixedSlot ← FunctionEnvironment#664 (slot 2) Value 666 Unbox LoadFixedSlot#665 to Object (fallible) Object 667 MegamorphicLoadSlotByValue ← Unbox#666, LoadElement#657 Value 669 Goto → block 64 Block 64 726 Constant magic optimized-out MagicOptimizedOut 670 Unbox NewArrayDynamicLength#612 to Object (fallible) Object 671 Unbox Phi#630 to Int32 (fallible) Int32 672 GuardShape ← Unbox#670 Object 673 Elements ← GuardShape#672 Elements 674 StoreElementHole ← GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667 675 Goto → block 65 Block 65 (backedge) 724 Constant magic optimized-out MagicOptimizedOut 677 Unbox Phi#630 to Int32 (fallible) Int32 678 Constant 0x1 Int32 679 Add ← Unbox#677, Constant#678 [int32] Int32 680 Goto → block 59 Block 66 683 Unbox NewArrayDynamicLength#612 to Object (fallible) Object 684 GuardShape ← Unbox#683 Object 685 Constant object 104289c3e088 (Array) Object 686 Constant function reduce (self-hosted:205) at 104289c479c0 Object 687 Constant function complex5/< (-e:22) at 104289c63e40 Object 688 Lambda ← NewCallObject#514, Constant#687 Object 689 Constant 0x0 Int32 690 Constant 0x2 Int32 691 Constant function reduce (self-hosted:205) at 104289c479c0 Object 692 GuardSpecificFunction ← Constant#686, Constant#691 Object 693 Call ← GuardSpecificFunction#692, NewArrayDynamicLength#612, Lambda#688, Constant#689 Value 695 Goto → block 67 Block 67 (backedge) 696 Unbox Phi#95 to Int32 (fallible) Int32 697 Constant 0x1 Int32 698 Add ← Unbox#696, Constant#697 [int32] Int32 699 Goto → block 1 Block 68 700 Unbox Phi#88 to Double (fallible) Double 701 Unbox Phi#89 to Double (fallible) Double 702 Add ← Unbox#700, Unbox#701 [double] Double 703 Unbox Phi#90 to Double (fallible) Double 704 Add ← Add#702, Unbox#703 [double] Double 705 Unbox Phi#92 to Double (fallible) Double 706 Add ← Add#704, Unbox#705 [double] Double 707 Unbox Phi#94 to Double (fallible) Double 708 Add ← Add#706, Unbox#707 [double] Double 709 Return ← Add#708
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant magic uninitialized-lexical MagicUninitializedLexical 6 Constant object 104289c3f040 (LexicalEnvironment) Object 7 Constant object 104289c3e030 (global) Object 8 Constant function complex1 (-e:2) at 104289c6c8c8 Object 9 Constant undefined Undefined 10 Constant 0x1 Int32 11 Constant function complex1 (-e:2) at 104289c6c8c8 Object 12 GuardSpecificFunction ← Constant#8, Constant#11 Object 13 Call ← GuardSpecificFunction#12, Constant#9, Parameter#1 Value 14 Constant object 104289c3f040 (LexicalEnvironment) Object 15 Constant object 104289c3e030 (global) Object 16 Constant function complex2 (-e:7) at 104289c6c970 Object 17 Constant undefined Undefined 18 Constant 0x1 Int32 19 Constant function complex2 (-e:7) at 104289c6c970 Object 20 GuardSpecificFunction ← Constant#16, Constant#19 Object 21 Call ← GuardSpecificFunction#20, Constant#17, Parameter#1 Value 22 Constant object 104289c3f040 (LexicalEnvironment) Object 23 Constant object 104289c3e030 (global) Object 24 Constant function complex3 (-e:11) at 104289c6c938 Object 25 Constant undefined Undefined 26 Constant 0x2 Int32 27 Constant function complex3 (-e:11) at 104289c6c938 Object 28 GuardSpecificFunction ← Constant#24, Constant#27 Object 29 Call ← GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13 Value 30 Constant shape at 104289c64f00 Shape 31 NewArrayObject ← Constant#30 Object 32 Constant 0x0 Int32 33 Elements ← NewArrayObject#31 Elements 34 PostWriteBarrier ← NewArrayObject#31, Call#13 35 StoreElement ← Elements#33, Constant#32, Call#13 36 SetInitializedLength ← Elements#33, Constant#32 37 Constant 0x1 Int32 38 Elements ← NewArrayObject#31 Elements 39 PostWriteBarrier ← NewArrayObject#31, Call#21 40 StoreElement ← Elements#38, Constant#37, Call#21 41 SetInitializedLength ← Elements#38, Constant#37 42 Constant 0x2 Int32 43 Elements ← NewArrayObject#31 Elements 44 PostWriteBarrier ← NewArrayObject#31, Call#29 45 StoreElement ← Elements#43, Constant#42, Call#29 46 SetInitializedLength ← Elements#43, Constant#42 47 Constant 0x3 Int32 48 Elements ← NewArrayObject#31 Elements 49 PostWriteBarrier ← NewArrayObject#31, Parameter#1 50 StoreElement ← Elements#48, Constant#47, Parameter#1 51 SetInitializedLength ← Elements#48, Constant#47 52 Constant object 104289c3f040 (LexicalEnvironment) Object 53 Constant object 104289c3e030 (global) Object 54 Constant function complex4 (-e:17) at 104289c6c890 Object 55 Constant undefined Undefined 56 Constant 0x1 Int32 57 Constant function complex4 (-e:17) at 104289c6c890 Object 58 GuardSpecificFunction ← Constant#54, Constant#57 Object 59 Call ← GuardSpecificFunction#58, Constant#55, NewArrayObject#31 Value 60 Constant shape at 104289c64fa0 Shape 61 NewPlainObject ← Constant#60 Object 62 GuardShape ← NewPlainObject#61 Object 63 PostWriteBarrier ← GuardShape#62, Call#13 64 StoreFixedSlot ← GuardShape#62, Call#13 (slot 0) 65 GuardShape ← NewPlainObject#61 Object 66 PostWriteBarrier ← GuardShape#65, Call#21 67 StoreFixedSlot ← GuardShape#65, Call#21 (slot 1) 68 GuardShape ← NewPlainObject#61 Object 69 PostWriteBarrier ← GuardShape#68, Call#29 70 StoreFixedSlot ← GuardShape#68, Call#29 (slot 2) 71 GuardShape ← NewPlainObject#61 Object 72 PostWriteBarrier ← GuardShape#71, Call#59 73 StoreFixedSlot ← GuardShape#71, Call#59 (slot 3) 74 Constant object 104289c3f040 (LexicalEnvironment) Object 75 Constant object 104289c3e030 (global) Object 76 Constant function complex5 (-e:21) at 104289c6c900 Object 77 Constant undefined Undefined 78 Constant 0x1 Int32 79 Constant function complex5 (-e:21) at 104289c6c900 Object 80 GuardSpecificFunction ← Constant#76, Constant#79 Object 81 Call ← GuardSpecificFunction#80, Constant#77, NewPlainObject#61 Value 82 Constant magic uninitialized-lexical MagicUninitializedLexical 83 Constant 0x0 Int32 96 Goto → block 1 Block 1 (loop header) 88 Phi ← Call#13, Call#112 Value 89 Phi ← Call#21, BitOr#137 Value 90 Phi ← Call#29, Call#147 Value 92 Phi ← Call#59, Call#489 Value 94 Phi ← Call#81, Call#693 Value 95 Phi ← Constant#83, Add#698 Value 97 InterruptCheck 98 Constant 0xa Int32 99 Unbox Phi#95 to Int32 (fallible) Int32 100 Compare ← Unbox#99, Constant#98 Lt Bool 101 Test ← Compare#100 → block 2, block 68 1 0 Block 2 102 Constant object 104289c3f040 (LexicalEnvironment) Object 103 Constant object 104289c3e030 (global) Object 104 Constant function complex1 (-e:2) at 104289c6c8c8 Object 105 Constant undefined Undefined 106 Unbox Phi#88 to Double (fallible) Double 107 Unbox Phi#95 to Double (fallible) Double 108 Add ← Unbox#106, Unbox#107 [double] Double 109 Constant 0x1 Int32 110 Constant function complex1 (-e:2) at 104289c6c8c8 Object 111 GuardSpecificFunction ← Constant#104, Constant#110 Object 112 Call ← GuardSpecificFunction#111, Constant#105, Add#108 Value 113 Constant object 104289c3f040 (LexicalEnvironment) Object 114 Constant object 104289c3e030 (global) Object 115 Constant function complex2 (-e:7) at 104289c6c970 Object 116 Constant undefined Undefined 117 Unbox Phi#89 to Int32 (fallible) Int32 118 Unbox Phi#95 to Int32 (fallible) Int32 119 Add ← Unbox#117, Unbox#118 [int32] Int32 120 Constant 0x1 Int32 121 Constant function complex2 (-e:7) at 104289c6c970 Object 122 GuardSpecificFunction ← Constant#115, Constant#121 Object 123 Goto → block 3 Block 3 124 Constant undefined Undefined 125 Constant 0x1 Int32 126 Lsh ← Add#119, Constant#125 Int32 127 Constant 0x1 Int32 128 Rsh ← Add#119, Constant#127 Int32 129 Constant 0xff Int32 130 BitAnd ← Add#119, Constant#129 Int32 131 Constant 0x2 Int32 132 Ursh ← Add#119, Constant#131 Int32 133 Add ← BitAnd#130, Ursh#132 [int32] Int32 134 BitNot ← Add#119 Int32 135 Sub ← Add#133, BitNot#134 [int32] Int32 136 BitXor ← Rsh#128, Sub#135 Int32 137 BitOr ← Lsh#126, BitXor#136 Int32 139 Goto → block 4 Block 4 140 Constant object 104289c3f040 (LexicalEnvironment) Object 141 Constant object 104289c3e030 (global) Object 142 Constant function complex3 (-e:11) at 104289c6c938 Object 143 Constant undefined Undefined 144 Constant 0x2 Int32 145 Constant function complex3 (-e:11) at 104289c6c938 Object 146 GuardSpecificFunction ← Constant#142, Constant#145 Object 147 Call ← GuardSpecificFunction#146, Constant#143, Phi#90, Call#112 Value 148 Constant object 104289c3f040 (LexicalEnvironment) Object 149 Constant object 104289c3e030 (global) Object 150 Constant function complex4 (-e:17) at 104289c6c890 Object 151 Constant undefined Undefined 152 Constant shape at 104289c64f00 Shape 153 NewArrayObject ← Constant#152 Object 154 Constant 0x0 Int32 155 Elements ← NewArrayObject#153 Elements 156 PostWriteBarrier ← NewArrayObject#153, Call#112 157 StoreElement ← Elements#155, Constant#154, Call#112 158 SetInitializedLength ← Elements#155, Constant#154 159 Constant 0x1 Int32 160 Elements ← NewArrayObject#153 Elements 161 PostWriteBarrier ← NewArrayObject#153, BitOr#137 162 StoreElement ← Elements#160, Constant#159, BitOr#137 163 SetInitializedLength ← Elements#160, Constant#159 164 Constant 0x2 Int32 165 Elements ← NewArrayObject#153 Elements 166 PostWriteBarrier ← NewArrayObject#153, Call#147 167 StoreElement ← Elements#165, Constant#164, Call#147 168 SetInitializedLength ← Elements#165, Constant#164 169 Constant 0x3 Int32 170 Elements ← NewArrayObject#153 Elements 171 PostWriteBarrier ← NewArrayObject#153, Phi#95 172 StoreElement ← Elements#170, Constant#169, Phi#95 173 SetInitializedLength ← Elements#170, Constant#169 174 Constant 0x1 Int32 175 Constant function complex4 (-e:17) at 104289c6c890 Object 176 GuardSpecificFunction ← Constant#150, Constant#175 Object 177 Goto → block 5 Block 5 178 Constant undefined Undefined 179 FunctionEnvironment ← GuardSpecificFunction#176 Object 180 GuardShape ← NewArrayObject#153 Object 181 Constant object 104289c3e088 (Array) Object 182 Constant function map (self-hosted:163) at 104289c47920 Object 183 Constant function complex4/< (-e:18) at 104289c63d28 Object 184 Lambda ← FunctionEnvironment#179, Constant#183 Object 185 Constant 0x1 Int32 186 Constant function map (self-hosted:163) at 104289c47920 Object 187 GuardSpecificFunction ← Constant#182, Constant#186 Object 188 Goto → block 6 Block 6 189 Constant undefined Undefined 190 Constant function ToObject at 104289c6c740 Object 191 DebugCheckSelfHosted ← Constant#190 Value 192 Constant undefined Undefined 193 Constant 0x1 Int32 194 Constant function ToLength at 104289c6c778 Object 195 DebugCheckSelfHosted ← Constant#194 Value 196 Constant undefined Undefined 197 GuardShape ← NewArrayObject#153 Object 198 Elements ← GuardShape#197 Elements 199 ArrayLength ← Elements#198 Int32 200 Constant 0x1 Int32 201 Constant 0x0 Int32 202 MinMax ← ArrayLength#199, Constant#201 (max) Int32 203 Constant 0x1 Int32 204 Constant 0x0 Int32 205 Compare ← Constant#203, Constant#204 StrictEq Bool 206 Test ← Compare#205 → block 7, block 8 1 0 Block 7 207 CallGetIntrinsicValue Value 208 DebugCheckSelfHosted ← CallGetIntrinsicValue#207 Value 209 Constant undefined Undefined 210 Constant 0x37 Int32 211 Constant 0x0 Int32 212 Constant string 104289c2e080 String 213 Bail 718 Unreachable Block 8 216 Constant function IsCallable at 104289c6c7b0 Object 217 DebugCheckSelfHosted ← Constant#216 Value 218 Constant undefined Undefined 219 Constant 0x1 Int32 220 IsCallable ← Lambda#184 Bool 221 Test ← IsCallable#220 → block 10, block 9 1 0 Block 9 222 CallGetIntrinsicValue Value 223 DebugCheckSelfHosted ← CallGetIntrinsicValue#222 Value 224 Constant undefined Undefined 225 Constant 0xc Int32 226 CallGetIntrinsicValue Value 227 DebugCheckSelfHosted ← CallGetIntrinsicValue#226 Value 228 Constant undefined Undefined 229 Constant 0x0 Int32 230 Bail 717 Unreachable Block 10 235 Constant 0x1 Int32 236 Constant 0x1 Int32 237 Compare ← Constant#235, Constant#236 Gt Bool 238 Test ← Compare#237 → block 11, block 12 1 0 Block 11 239 Constant 0x1 Int32 240 GetInlinedArgument ← Constant#239, Lambda#184 Value 241 Goto → block 13 Block 12 242 Constant undefined Undefined 243 Goto → block 13 Block 13 244 Phi ← Constant#242, GetInlinedArgument#240 Value 245 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 246 DebugCheckSelfHosted ← Constant#245 Value 247 Constant undefined Undefined 248 Constant 0x1 Int32 249 HasShape ← NewArrayObject#153 Bool 250 Test ← HasShape#249 → block 14, block 15 1 0 Block 14 251 Constant function std_Array at 104289c6c820 Object 252 DebugCheckSelfHosted ← Constant#251 Value 253 Constant undefined Undefined 254 Constant 0x1 Int32 255 Unbox DebugCheckSelfHosted#252 to Object (fallible) Object 256 Constant function std_Array at 104289c6c820 Object 257 GuardSpecificFunction ← Unbox#255, Constant#256 Object 258 NewArrayDynamicLength ← MinMax#202 Object 259 Goto → block 16 Block 15 260 CallGetIntrinsicValue Value 261 DebugCheckSelfHosted ← CallGetIntrinsicValue#260 Value 262 Constant undefined Undefined 263 Bail 716 Unreachable Block 16 267 Constant 0x0 Int32 279 Goto → block 17 Block 17 (loop header) 276 Phi ← Constant#267, Add#324 Value 734 Constant magic optimized-out MagicOptimizedOut 280 InterruptCheck 281 Unbox Phi#276 to Int32 (fallible) Int32 282 Unbox MinMax#202 to Int32 (fallible) Int32 283 Compare ← Unbox#281, Unbox#282 Lt Bool 284 Test ← Compare#283 → block 18, block 24 1 0 Block 18 739 Constant magic optimized-out MagicOptimizedOut 285 Unbox NewArrayObject#153 to Object (fallible) Object 286 Unbox Phi#276 to Int32 (fallible) Int32 287 GuardShape ← Unbox#285 Object 288 Elements ← GuardShape#287 Elements 289 InitializedLength ← Elements#288 Int32 290 BoundsCheck ← Unbox#286, InitializedLength#289 Int32 291 SpectreMaskIndex ← BoundsCheck#290, InitializedLength#289 Int32 292 GuardElementNotHole ← Elements#288, SpectreMaskIndex#291 293 Constant true Bool 294 Test ← Constant#293 → block 20, block 19 1 0 Block 19 (split edge) 736 Constant magic optimized-out MagicOptimizedOut 719 Goto → block 23 Block 20 738 Constant magic optimized-out MagicOptimizedOut 295 Unbox NewArrayObject#153 to Object (fallible) Object 296 Unbox Phi#276 to Int32 (fallible) Int32 297 GuardShape ← Unbox#295 Object 298 Elements ← GuardShape#297 Elements 299 InitializedLength ← Elements#298 Int32 300 BoundsCheck ← Unbox#296, InitializedLength#299 Int32 301 SpectreMaskIndex ← BoundsCheck#300, InitializedLength#299 Int32 302 GuardElementsArePacked ← Elements#298 303 LoadElement ← Elements#298, SpectreMaskIndex#301 Value 304 Constant 0x3 Int32 305 Unbox Lambda#184 to Object (fallible) Object 306 GuardToFunction ← Unbox#305 Object 307 GuardFunctionScript ← GuardToFunction#306 Object 308 Goto → block 21 Block 21 309 Constant undefined Undefined 310 Constant 0x2 Int32 311 Unbox LoadElement#303 to Double (fallible) Double 312 Mul ← Unbox#311, Constant#310 [double] Double 314 Goto → block 22 Block 22 737 Constant magic optimized-out MagicOptimizedOut 315 Unbox NewArrayDynamicLength#258 to Object (fallible) Object 316 Unbox Phi#276 to Int32 (fallible) Int32 317 GuardShape ← Unbox#315 Object 318 Elements ← GuardShape#317 Elements 319 StoreElementHole ← GuardShape#317, Elements#318, Unbox#316, Mul#312 320 Goto → block 23 Block 23 (backedge) 735 Constant magic optimized-out MagicOptimizedOut 322 Unbox Phi#276 to Int32 (fallible) Int32 323 Constant 0x1 Int32 324 Add ← Unbox#322, Constant#323 [int32] Int32 325 Goto → block 17 Block 24 328 Unbox NewArrayDynamicLength#258 to Object (fallible) Object 329 GuardShape ← Unbox#328 Object 330 Constant object 104289c3e088 (Array) Object 331 Constant function filter (self-hosted:183) at 104289c47970 Object 332 Constant function complex4/< (-e:18) at 104289c63d60 Object 333 Lambda ← FunctionEnvironment#179, Constant#332 Object 334 Constant 0x1 Int32 335 Constant function filter (self-hosted:183) at 104289c47970 Object 336 GuardSpecificFunction ← Constant#331, Constant#335 Object 337 Goto → block 25 Block 25 338 Constant undefined Undefined 339 Constant function ToObject at 104289c6c740 Object 340 DebugCheckSelfHosted ← Constant#339 Value 341 Constant undefined Undefined 342 Constant 0x1 Int32 343 Unbox NewArrayDynamicLength#258 to Object (fallible) Object 344 Constant function ToLength at 104289c6c778 Object 345 DebugCheckSelfHosted ← Constant#344 Value 346 Constant undefined Undefined 347 GuardShape ← Unbox#343 Object 348 Elements ← GuardShape#347 Elements 349 ArrayLength ← Elements#348 Int32 350 Constant 0x1 Int32 351 Constant 0x0 Int32 352 MinMax ← ArrayLength#349, Constant#351 (max) Int32 353 Constant 0x1 Int32 354 Constant 0x0 Int32 355 Compare ← Constant#353, Constant#354 StrictEq Bool 356 Test ← Compare#355 → block 26, block 27 1 0 Block 26 357 CallGetIntrinsicValue Value 358 DebugCheckSelfHosted ← CallGetIntrinsicValue#357 Value 359 Constant undefined Undefined 360 Constant 0x37 Int32 361 Constant 0x0 Int32 362 Constant string 104289c28540 String 363 Bail 715 Unreachable Block 27 366 Constant function IsCallable at 104289c6c7b0 Object 367 DebugCheckSelfHosted ← Constant#366 Value 368 Constant undefined Undefined 369 Constant 0x1 Int32 370 IsCallable ← Lambda#333 Bool 371 Test ← IsCallable#370 → block 29, block 28 1 0 Block 28 372 CallGetIntrinsicValue Value 373 DebugCheckSelfHosted ← CallGetIntrinsicValue#372 Value 374 Constant undefined Undefined 375 Constant 0xc Int32 376 CallGetIntrinsicValue Value 377 DebugCheckSelfHosted ← CallGetIntrinsicValue#376 Value 378 Constant undefined Undefined 379 Constant 0x0 Int32 380 Bail 714 Unreachable Block 29 385 Constant 0x1 Int32 386 Constant 0x1 Int32 387 Compare ← Constant#385, Constant#386 Gt Bool 388 Test ← Compare#387 → block 30, block 31 1 0 Block 30 389 Constant 0x1 Int32 390 GetInlinedArgument ← Constant#389, Lambda#333 Value 391 Goto → block 32 Block 31 392 Constant undefined Undefined 393 Goto → block 32 Block 32 394 Phi ← Constant#392, GetInlinedArgument#390 Value 395 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 396 DebugCheckSelfHosted ← Constant#395 Value 397 Constant undefined Undefined 398 Constant 0x1 Int32 399 HasShape ← Unbox#343 Bool 400 Test ← HasShape#399 → block 33, block 34 1 0 Block 33 401 Constant shape at 104289c64f00 Shape 402 NewArrayObject ← Constant#401 Object 403 Goto → block 35 Block 34 404 CallGetIntrinsicValue Value 405 DebugCheckSelfHosted ← CallGetIntrinsicValue#404 Value 406 Constant undefined Undefined 407 Constant 0x0 Int32 408 Bail 713 Unreachable Block 35 412 Constant 0x0 Int32 413 Constant 0x0 Int32 426 Goto → block 36 Block 36 (loop header) 422 Phi ← Constant#412, Add#475 Value 423 Phi ← Constant#413, Phi#471 Value 729 Constant magic optimized-out MagicOptimizedOut 427 InterruptCheck 428 Unbox Phi#422 to Int32 (fallible) Int32 429 Unbox MinMax#352 to Int32 (fallible) Int32 430 Compare ← Unbox#428, Unbox#429 Lt Bool 431 Test ← Compare#430 → block 37, block 45 1 0 Block 37 733 Constant magic optimized-out MagicOptimizedOut 432 Unbox Unbox#343 to Object (fallible) Object 433 Unbox Phi#422 to Int32 (fallible) Int32 434 GuardShape ← Unbox#432 Object 435 Elements ← GuardShape#434 Elements 436 InitializedLength ← Elements#435 Int32 437 BoundsCheck ← Unbox#433, InitializedLength#436 Int32 438 SpectreMaskIndex ← BoundsCheck#437, InitializedLength#436 Int32 439 GuardElementNotHole ← Elements#435, SpectreMaskIndex#438 440 Constant true Bool 441 Test ← Constant#440 → block 39, block 38 1 0 Block 38 (split edge) 731 Constant magic optimized-out MagicOptimizedOut 720 Goto → block 44 Block 39 732 Constant magic optimized-out MagicOptimizedOut 442 Unbox Unbox#343 to Object (fallible) Object 443 Unbox Phi#422 to Int32 (fallible) Int32 444 GuardShape ← Unbox#442 Object 445 Elements ← GuardShape#444 Elements 446 InitializedLength ← Elements#445 Int32 447 BoundsCheck ← Unbox#443, InitializedLength#446 Int32 448 SpectreMaskIndex ← BoundsCheck#447, InitializedLength#446 Int32 449 GuardElementsArePacked ← Elements#445 450 LoadElement ← Elements#445, SpectreMaskIndex#448 Value 451 Constant 0x3 Int32 452 Unbox Lambda#333 to Object (fallible) Object 453 GuardToFunction ← Unbox#452 Object 454 GuardFunctionScript ← GuardToFunction#453 Object 455 Goto → block 40 Block 40 456 Constant undefined Undefined 457 Constant 0x32 Int32 458 Unbox LoadElement#450 to Double (fallible) Double 459 Compare ← Unbox#458, Constant#457 Gt Bool 461 Goto → block 41 Block 41 462 Test ← Compare#459 → block 43, block 42 1 0 Block 42 (split edge) 721 Goto → block 44 Block 43 463 Unbox Phi#423 to Int32 (fallible) Int32 464 Constant 0x1 Int32 465 Add ← Unbox#463, Constant#464 [int32] Int32 466 Unbox NewArrayObject#402 to Object (fallible) Object 467 GuardShape ← Unbox#466 Object 468 Elements ← GuardShape#467 Elements 469 StoreElementHole ← GuardShape#467, Elements#468, Unbox#463, LoadElement#450 470 Goto → block 44 Block 44 (backedge) 471 Phi ← Add#465, Phi#423, Phi#423 Value 730 Constant magic optimized-out MagicOptimizedOut 473 Unbox Phi#422 to Int32 (fallible) Int32 474 Constant 0x1 Int32 475 Add ← Unbox#473, Constant#474 [int32] Int32 476 Goto → block 36 Block 45 479 Unbox NewArrayObject#402 to Object (fallible) Object 480 GuardShape ← Unbox#479 Object 481 Constant object 104289c3e088 (Array) Object 482 Constant function reduce (self-hosted:205) at 104289c479c0 Object 483 Constant function complex4/< (-e:18) at 104289c63d98 Object 484 Lambda ← FunctionEnvironment#179, Constant#483 Object 485 Constant 0x0 Int32 486 Constant 0x2 Int32 487 Constant function reduce (self-hosted:205) at 104289c479c0 Object 488 GuardSpecificFunction ← Constant#482, Constant#487 Object 489 Call ← GuardSpecificFunction#488, NewArrayObject#402, Lambda#484, Constant#485 Value 491 Goto → block 46 Block 46 492 Constant object 104289c3f040 (LexicalEnvironment) Object 493 Constant object 104289c3e030 (global) Object 494 Constant function complex5 (-e:21) at 104289c6c900 Object 495 Constant undefined Undefined 496 Constant shape at 104289c64fc0 Shape 497 NewPlainObject ← Constant#496 Object 498 GuardShape ← NewPlainObject#497 Object 499 PostWriteBarrier ← GuardShape#498, Call#112 500 StoreFixedSlot ← GuardShape#498, Call#112 (slot 0) 501 GuardShape ← NewPlainObject#497 Object 502 PostWriteBarrier ← GuardShape#501, BitOr#137 503 StoreFixedSlot ← GuardShape#501, BitOr#137 (slot 1) 504 GuardShape ← NewPlainObject#497 Object 505 PostWriteBarrier ← GuardShape#504, Call#147 506 StoreFixedSlot ← GuardShape#504, Call#147 (slot 2) 507 Constant 0x1 Int32 508 Constant function complex5 (-e:21) at 104289c6c900 Object 509 GuardSpecificFunction ← Constant#494, Constant#508 Object 510 Goto → block 47 Block 47 511 Constant undefined Undefined 512 FunctionEnvironment ← GuardSpecificFunction#509 Object 513 Constant object 104289c3f078 (Call) Object 514 NewCallObject ← Constant#513 Object 515 AssertCanElidePostWriteBarrier ← NewCallObject#514, FunctionEnvironment#512 516 AssertCanElidePostWriteBarrier ← NewCallObject#514, GuardSpecificFunction#509 517 StoreFixedSlot ← NewCallObject#514, FunctionEnvironment#512 (slot 0) 518 StoreFixedSlot ← NewCallObject#514, GuardSpecificFunction#509 (slot 1) 519 PostWriteBarrier ← NewCallObject#514, NewPlainObject#497 520 StoreFixedSlot ← NewCallObject#514, NewPlainObject#497 (slot 2) 521 Constant object 104289c3f040 (LexicalEnvironment) Object 522 Constant object 104289c3e030 (global) Object 523 Constant function Object at 104289c422e0 Object 524 Constant function Object at 104289c422e0 Object 525 GuardObjectIdentity ← Constant#523, Constant#524 Object 526 Constant function keys at 104289c42468 Object 527 LoadFixedSlot ← NewCallObject#514 (slot 2) Value 528 Constant 0x1 Int32 529 Constant function keys at 104289c42468 Object 530 GuardSpecificFunction ← Constant#526, Constant#529 Object 531 Unbox LoadFixedSlot#527 to Object (fallible) Object 532 GuardIsNotProxy ← Unbox#531 Object 533 ObjectKeys ← GuardIsNotProxy#532 Object 534 GuardShape ← ObjectKeys#533 Object 535 Constant object 104289c3e088 (Array) Object 536 Constant function map (self-hosted:163) at 104289c47920 Object 537 Constant function complex5/< (-e:22) at 104289c63e08 Object 538 Lambda ← NewCallObject#514, Constant#537 Object 539 Constant 0x1 Int32 540 Constant function map (self-hosted:163) at 104289c47920 Object 541 GuardSpecificFunction ← Constant#536, Constant#540 Object 542 Goto → block 48 Block 48 543 Constant undefined Undefined 544 Constant function ToObject at 104289c6c740 Object 545 DebugCheckSelfHosted ← Constant#544 Value 546 Constant undefined Undefined 547 Constant 0x1 Int32 548 Constant function ToLength at 104289c6c778 Object 549 DebugCheckSelfHosted ← Constant#548 Value 550 Constant undefined Undefined 551 GuardShape ← ObjectKeys#533 Object 552 Elements ← GuardShape#551 Elements 553 ArrayLength ← Elements#552 Int32 554 Constant 0x1 Int32 555 Constant 0x0 Int32 556 MinMax ← ArrayLength#553, Constant#555 (max) Int32 557 Constant 0x1 Int32 558 Constant 0x0 Int32 559 Compare ← Constant#557, Constant#558 StrictEq Bool 560 Test ← Compare#559 → block 49, block 50 1 0 Block 49 561 CallGetIntrinsicValue Value 562 DebugCheckSelfHosted ← CallGetIntrinsicValue#561 Value 563 Constant undefined Undefined 564 Constant 0x37 Int32 565 Constant 0x0 Int32 566 Constant string 104289c2e080 String 567 Bail 712 Unreachable Block 50 570 Constant function IsCallable at 104289c6c7b0 Object 571 DebugCheckSelfHosted ← Constant#570 Value 572 Constant undefined Undefined 573 Constant 0x1 Int32 574 IsCallable ← Lambda#538 Bool 575 Test ← IsCallable#574 → block 52, block 51 1 0 Block 51 576 CallGetIntrinsicValue Value 577 DebugCheckSelfHosted ← CallGetIntrinsicValue#576 Value 578 Constant undefined Undefined 579 Constant 0xc Int32 580 CallGetIntrinsicValue Value 581 DebugCheckSelfHosted ← CallGetIntrinsicValue#580 Value 582 Constant undefined Undefined 583 Constant 0x0 Int32 584 Bail 711 Unreachable Block 52 589 Constant 0x1 Int32 590 Constant 0x1 Int32 591 Compare ← Constant#589, Constant#590 Gt Bool 592 Test ← Compare#591 → block 53, block 54 1 0 Block 53 593 Constant 0x1 Int32 594 GetInlinedArgument ← Constant#593, Lambda#538 Value 595 Goto → block 55 Block 54 596 Constant undefined Undefined 597 Goto → block 55 Block 55 598 Phi ← Constant#596, GetInlinedArgument#594 Value 599 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 600 DebugCheckSelfHosted ← Constant#599 Value 601 Constant undefined Undefined 602 Constant 0x1 Int32 603 HasShape ← ObjectKeys#533 Bool 604 Test ← HasShape#603 → block 56, block 57 1 0 Block 56 605 Constant function std_Array at 104289c6c820 Object 606 DebugCheckSelfHosted ← Constant#605 Value 607 Constant undefined Undefined 608 Constant 0x1 Int32 609 Unbox DebugCheckSelfHosted#606 to Object (fallible) Object 610 Constant function std_Array at 104289c6c820 Object 611 GuardSpecificFunction ← Unbox#609, Constant#610 Object 612 NewArrayDynamicLength ← MinMax#556 Object 613 Goto → block 58 Block 57 614 CallGetIntrinsicValue Value 615 DebugCheckSelfHosted ← CallGetIntrinsicValue#614 Value 616 Constant undefined Undefined 617 Bail 710 Unreachable Block 58 621 Constant 0x0 Int32 633 Goto → block 59 Block 59 (loop header) 630 Phi ← Constant#621, Add#679 Value 723 Constant magic optimized-out MagicOptimizedOut 634 InterruptCheck 635 Unbox Phi#630 to Int32 (fallible) Int32 636 Unbox MinMax#556 to Int32 (fallible) Int32 637 Compare ← Unbox#635, Unbox#636 Lt Bool 638 Test ← Compare#637 → block 60, block 66 1 0 Block 60 728 Constant magic optimized-out MagicOptimizedOut 639 Unbox ObjectKeys#533 to Object (fallible) Object 640 Unbox Phi#630 to Int32 (fallible) Int32 641 GuardShape ← Unbox#639 Object 642 Elements ← GuardShape#641 Elements 643 InitializedLength ← Elements#642 Int32 644 BoundsCheck ← Unbox#640, InitializedLength#643 Int32 645 SpectreMaskIndex ← BoundsCheck#644, InitializedLength#643 Int32 646 GuardElementNotHole ← Elements#642, SpectreMaskIndex#645 647 Constant true Bool 648 Test ← Constant#647 → block 62, block 61 1 0 Block 61 (split edge) 725 Constant magic optimized-out MagicOptimizedOut 722 Goto → block 65 Block 62 727 Constant magic optimized-out MagicOptimizedOut 649 Unbox ObjectKeys#533 to Object (fallible) Object 650 Unbox Phi#630 to Int32 (fallible) Int32 651 GuardShape ← Unbox#649 Object 652 Elements ← GuardShape#651 Elements 653 InitializedLength ← Elements#652 Int32 654 BoundsCheck ← Unbox#650, InitializedLength#653 Int32 655 SpectreMaskIndex ← BoundsCheck#654, InitializedLength#653 Int32 656 GuardElementsArePacked ← Elements#652 657 LoadElement ← Elements#652, SpectreMaskIndex#655 Value 658 Constant 0x3 Int32 659 Unbox Lambda#538 to Object (fallible) Object 660 GuardToFunction ← Unbox#659 Object 661 GuardFunctionScript ← GuardToFunction#660 Object 662 Goto → block 63 Block 63 663 Constant undefined Undefined 664 FunctionEnvironment ← GuardFunctionScript#661 Object 665 LoadFixedSlot ← FunctionEnvironment#664 (slot 2) Value 666 Unbox LoadFixedSlot#665 to Object (fallible) Object 667 MegamorphicLoadSlotByValue ← Unbox#666, LoadElement#657 Value 669 Goto → block 64 Block 64 726 Constant magic optimized-out MagicOptimizedOut 670 Unbox NewArrayDynamicLength#612 to Object (fallible) Object 671 Unbox Phi#630 to Int32 (fallible) Int32 672 GuardShape ← Unbox#670 Object 673 Elements ← GuardShape#672 Elements 674 StoreElementHole ← GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667 675 Goto → block 65 Block 65 (backedge) 724 Constant magic optimized-out MagicOptimizedOut 677 Unbox Phi#630 to Int32 (fallible) Int32 678 Constant 0x1 Int32 679 Add ← Unbox#677, Constant#678 [int32] Int32 680 Goto → block 59 Block 66 683 Unbox NewArrayDynamicLength#612 to Object (fallible) Object 684 GuardShape ← Unbox#683 Object 685 Constant object 104289c3e088 (Array) Object 686 Constant function reduce (self-hosted:205) at 104289c479c0 Object 687 Constant function complex5/< (-e:22) at 104289c63e40 Object 688 Lambda ← NewCallObject#514, Constant#687 Object 689 Constant 0x0 Int32 690 Constant 0x2 Int32 691 Constant function reduce (self-hosted:205) at 104289c479c0 Object 692 GuardSpecificFunction ← Constant#686, Constant#691 Object 693 Call ← GuardSpecificFunction#692, NewArrayDynamicLength#612, Lambda#688, Constant#689 Value 695 Goto → block 67 Block 67 (backedge) 696 Unbox Phi#95 to Int32 (fallible) Int32 697 Constant 0x1 Int32 698 Add ← Unbox#696, Constant#697 [int32] Int32 699 Goto → block 1 Block 68 700 Unbox Phi#88 to Double (fallible) Double 701 Unbox Phi#89 to Double (fallible) Double 702 Add ← Unbox#700, Unbox#701 [double] Double 703 Unbox Phi#90 to Double (fallible) Double 704 Add ← Add#702, Unbox#703 [double] Double 705 Unbox Phi#92 to Double (fallible) Double 706 Add ← Add#704, Unbox#705 [double] Double 707 Unbox Phi#94 to Double (fallible) Double 708 Add ← Add#706, Unbox#707 [double] Double 709 Return ← Add#708
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant magic uninitialized-lexical MagicUninitializedLexical 6 Constant object 104289c3f040 (LexicalEnvironment) Object 7 Constant object 104289c3e030 (global) Object 8 Constant function complex1 (-e:2) at 104289c6c8c8 Object 9 Constant undefined Undefined 10 Constant 0x1 Int32 11 Constant function complex1 (-e:2) at 104289c6c8c8 Object 12 GuardSpecificFunction ← Constant#8, Constant#11 Object 13 Call ← GuardSpecificFunction#12, Constant#9, Parameter#1 Value 14 Constant object 104289c3f040 (LexicalEnvironment) Object 15 Constant object 104289c3e030 (global) Object 16 Constant function complex2 (-e:7) at 104289c6c970 Object 17 Constant undefined Undefined 18 Constant 0x1 Int32 19 Constant function complex2 (-e:7) at 104289c6c970 Object 20 GuardSpecificFunction ← Constant#16, Constant#19 Object 21 Call ← GuardSpecificFunction#20, Constant#17, Parameter#1 Value 22 Constant object 104289c3f040 (LexicalEnvironment) Object 23 Constant object 104289c3e030 (global) Object 24 Constant function complex3 (-e:11) at 104289c6c938 Object 25 Constant undefined Undefined 26 Constant 0x2 Int32 27 Constant function complex3 (-e:11) at 104289c6c938 Object 28 GuardSpecificFunction ← Constant#24, Constant#27 Object 29 Call ← GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13 Value 30 Constant shape at 104289c64f00 Shape 31 NewArrayObject ← Constant#30 Object 32 Constant 0x0 Int32 33 Elements ← NewArrayObject#31 Elements 34 PostWriteBarrier ← NewArrayObject#31, Call#13 35 StoreElement ← Elements#33, Constant#32, Call#13 36 SetInitializedLength ← Elements#33, Constant#32 37 Constant 0x1 Int32 38 Elements ← NewArrayObject#31 Elements 39 PostWriteBarrier ← NewArrayObject#31, Call#21 40 StoreElement ← Elements#38, Constant#37, Call#21 41 SetInitializedLength ← Elements#38, Constant#37 42 Constant 0x2 Int32 43 Elements ← NewArrayObject#31 Elements 44 PostWriteBarrier ← NewArrayObject#31, Call#29 45 StoreElement ← Elements#43, Constant#42, Call#29 46 SetInitializedLength ← Elements#43, Constant#42 47 Constant 0x3 Int32 48 Elements ← NewArrayObject#31 Elements 49 PostWriteBarrier ← NewArrayObject#31, Parameter#1 50 StoreElement ← Elements#48, Constant#47, Parameter#1 51 SetInitializedLength ← Elements#48, Constant#47 52 Constant object 104289c3f040 (LexicalEnvironment) Object 53 Constant object 104289c3e030 (global) Object 54 Constant function complex4 (-e:17) at 104289c6c890 Object 55 Constant undefined Undefined 56 Constant 0x1 Int32 57 Constant function complex4 (-e:17) at 104289c6c890 Object 58 GuardSpecificFunction ← Constant#54, Constant#57 Object 59 Call ← GuardSpecificFunction#58, Constant#55, NewArrayObject#31 Value 60 Constant shape at 104289c64fa0 Shape 61 NewPlainObject ← Constant#60 Object 62 GuardShape ← NewPlainObject#61 Object 63 PostWriteBarrier ← GuardShape#62, Call#13 64 StoreFixedSlot ← GuardShape#62, Call#13 (slot 0) 65 GuardShape ← NewPlainObject#61 Object 66 PostWriteBarrier ← GuardShape#65, Call#21 67 StoreFixedSlot ← GuardShape#65, Call#21 (slot 1) 68 GuardShape ← NewPlainObject#61 Object 69 PostWriteBarrier ← GuardShape#68, Call#29 70 StoreFixedSlot ← GuardShape#68, Call#29 (slot 2) 71 GuardShape ← NewPlainObject#61 Object 72 PostWriteBarrier ← GuardShape#71, Call#59 73 StoreFixedSlot ← GuardShape#71, Call#59 (slot 3) 74 Constant object 104289c3f040 (LexicalEnvironment) Object 75 Constant object 104289c3e030 (global) Object 76 Constant function complex5 (-e:21) at 104289c6c900 Object 77 Constant undefined Undefined 78 Constant 0x1 Int32 79 Constant function complex5 (-e:21) at 104289c6c900 Object 80 GuardSpecificFunction ← Constant#76, Constant#79 Object 81 Call ← GuardSpecificFunction#80, Constant#77, NewPlainObject#61 Value 82 Constant magic uninitialized-lexical MagicUninitializedLexical 83 Constant 0x0 Int32 96 Goto → block 1 Block 1 (loop header) 88 Phi ← Call#13, Call#112 Value 89 Phi ← Call#21, BitOr#137 Value 90 Phi ← Call#29, Call#147 Value 92 Phi ← Call#59, Call#489 Value 94 Phi ← Call#81, Call#693 Value 95 Phi ← Constant#83, Add#698 Value 97 InterruptCheck 98 Constant 0xa Int32 99 Unbox Phi#95 to Int32 (fallible) Int32 100 Compare ← Unbox#99, Constant#98 Lt Bool 101 Test ← Compare#100 → block 2, block 68 1 0 Block 2 102 Constant object 104289c3f040 (LexicalEnvironment) Object 103 Constant object 104289c3e030 (global) Object 104 Constant function complex1 (-e:2) at 104289c6c8c8 Object 105 Constant undefined Undefined 106 Unbox Phi#88 to Double (fallible) Double 107 Unbox Phi#95 to Double (fallible) Double 108 Add ← Unbox#106, Unbox#107 [double] Double 109 Constant 0x1 Int32 110 Constant function complex1 (-e:2) at 104289c6c8c8 Object 111 GuardSpecificFunction ← Constant#104, Constant#110 Object 112 Call ← GuardSpecificFunction#111, Constant#105, Add#108 Value 113 Constant object 104289c3f040 (LexicalEnvironment) Object 114 Constant object 104289c3e030 (global) Object 115 Constant function complex2 (-e:7) at 104289c6c970 Object 116 Constant undefined Undefined 117 Unbox Phi#89 to Int32 (fallible) Int32 118 Unbox Phi#95 to Int32 (fallible) Int32 119 Add ← Unbox#117, Unbox#118 [int32] Int32 120 Constant 0x1 Int32 121 Constant function complex2 (-e:7) at 104289c6c970 Object 122 GuardSpecificFunction ← Constant#115, Constant#121 Object 123 Goto → block 3 Block 3 124 Constant undefined Undefined 125 Constant 0x1 Int32 126 Lsh ← Add#119, Constant#125 Int32 127 Constant 0x1 Int32 128 Rsh ← Add#119, Constant#127 Int32 129 Constant 0xff Int32 130 BitAnd ← Add#119, Constant#129 Int32 131 Constant 0x2 Int32 132 Ursh ← Add#119, Constant#131 Int32 133 Add ← BitAnd#130, Ursh#132 [int32] Int32 134 BitNot ← Add#119 Int32 135 Sub ← Add#133, BitNot#134 [int32] Int32 136 BitXor ← Rsh#128, Sub#135 Int32 137 BitOr ← Lsh#126, BitXor#136 Int32 139 Goto → block 4 Block 4 140 Constant object 104289c3f040 (LexicalEnvironment) Object 141 Constant object 104289c3e030 (global) Object 142 Constant function complex3 (-e:11) at 104289c6c938 Object 143 Constant undefined Undefined 144 Constant 0x2 Int32 145 Constant function complex3 (-e:11) at 104289c6c938 Object 146 GuardSpecificFunction ← Constant#142, Constant#145 Object 147 Call ← GuardSpecificFunction#146, Constant#143, Phi#90, Call#112 Value 148 Constant object 104289c3f040 (LexicalEnvironment) Object 149 Constant object 104289c3e030 (global) Object 150 Constant function complex4 (-e:17) at 104289c6c890 Object 151 Constant undefined Undefined 152 Constant shape at 104289c64f00 Shape 153 NewArrayObject ← Constant#152 Object 154 Constant 0x0 Int32 155 Elements ← NewArrayObject#153 Elements 156 PostWriteBarrier ← NewArrayObject#153, Call#112 157 StoreElement ← Elements#155, Constant#154, Call#112 158 SetInitializedLength ← Elements#155, Constant#154 159 Constant 0x1 Int32 160 Elements ← NewArrayObject#153 Elements 161 PostWriteBarrier ← NewArrayObject#153, BitOr#137 162 StoreElement ← Elements#160, Constant#159, BitOr#137 163 SetInitializedLength ← Elements#160, Constant#159 164 Constant 0x2 Int32 165 Elements ← NewArrayObject#153 Elements 166 PostWriteBarrier ← NewArrayObject#153, Call#147 167 StoreElement ← Elements#165, Constant#164, Call#147 168 SetInitializedLength ← Elements#165, Constant#164 169 Constant 0x3 Int32 170 Elements ← NewArrayObject#153 Elements 171 PostWriteBarrier ← NewArrayObject#153, Phi#95 172 StoreElement ← Elements#170, Constant#169, Phi#95 173 SetInitializedLength ← Elements#170, Constant#169 174 Constant 0x1 Int32 175 Constant function complex4 (-e:17) at 104289c6c890 Object 176 GuardSpecificFunction ← Constant#150, Constant#175 Object 177 Goto → block 5 Block 5 178 Constant undefined Undefined 179 FunctionEnvironment ← GuardSpecificFunction#176 Object 180 GuardShape ← NewArrayObject#153 Object 181 Constant object 104289c3e088 (Array) Object 182 Constant function map (self-hosted:163) at 104289c47920 Object 183 Constant function complex4/< (-e:18) at 104289c63d28 Object 184 Lambda ← FunctionEnvironment#179, Constant#183 Object 185 Constant 0x1 Int32 186 Constant function map (self-hosted:163) at 104289c47920 Object 187 GuardSpecificFunction ← Constant#182, Constant#186 Object 188 Goto → block 6 Block 6 189 Constant undefined Undefined 190 Constant function ToObject at 104289c6c740 Object 191 DebugCheckSelfHosted ← Constant#190 Value 192 Constant undefined Undefined 193 Constant 0x1 Int32 194 Constant function ToLength at 104289c6c778 Object 195 DebugCheckSelfHosted ← Constant#194 Value 196 Constant undefined Undefined 197 GuardShape ← NewArrayObject#153 Object 198 Elements ← GuardShape#197 Elements 199 ArrayLength ← Elements#198 Int32 200 Constant 0x1 Int32 201 Constant 0x0 Int32 202 MinMax ← ArrayLength#199, Constant#201 (max) Int32 203 Constant 0x1 Int32 204 Constant 0x0 Int32 205 Compare ← Constant#203, Constant#204 StrictEq Bool 206 Test ← Compare#205 → block 7, block 8 1 0 Block 7 207 CallGetIntrinsicValue Value 208 DebugCheckSelfHosted ← CallGetIntrinsicValue#207 Value 209 Constant undefined Undefined 210 Constant 0x37 Int32 211 Constant 0x0 Int32 212 Constant string 104289c2e080 String 213 Bail 718 Unreachable Block 8 216 Constant function IsCallable at 104289c6c7b0 Object 217 DebugCheckSelfHosted ← Constant#216 Value 218 Constant undefined Undefined 219 Constant 0x1 Int32 220 IsCallable ← Lambda#184 Bool 221 Test ← IsCallable#220 → block 10, block 9 1 0 Block 9 222 CallGetIntrinsicValue Value 223 DebugCheckSelfHosted ← CallGetIntrinsicValue#222 Value 224 Constant undefined Undefined 225 Constant 0xc Int32 226 CallGetIntrinsicValue Value 227 DebugCheckSelfHosted ← CallGetIntrinsicValue#226 Value 228 Constant undefined Undefined 229 Constant 0x0 Int32 230 Bail 717 Unreachable Block 10 235 Constant 0x1 Int32 236 Constant 0x1 Int32 237 Compare ← Constant#235, Constant#236 Gt Bool 238 Test ← Compare#237 → block 11, block 12 1 0 Block 11 239 Constant 0x1 Int32 240 GetInlinedArgument ← Constant#239, Lambda#184 Value 241 Goto → block 13 Block 12 242 Constant undefined Undefined 243 Goto → block 13 Block 13 244 Phi ← Constant#242, GetInlinedArgument#240 Value 245 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 246 DebugCheckSelfHosted ← Constant#245 Value 247 Constant undefined Undefined 248 Constant 0x1 Int32 249 HasShape ← NewArrayObject#153 Bool 250 Test ← HasShape#249 → block 14, block 15 1 0 Block 14 251 Constant function std_Array at 104289c6c820 Object 252 DebugCheckSelfHosted ← Constant#251 Value 253 Constant undefined Undefined 254 Constant 0x1 Int32 255 Unbox DebugCheckSelfHosted#252 to Object (fallible) Object 256 Constant function std_Array at 104289c6c820 Object 257 GuardSpecificFunction ← Unbox#255, Constant#256 Object 258 NewArrayDynamicLength ← MinMax#202 Object 259 Goto → block 16 Block 15 260 CallGetIntrinsicValue Value 261 DebugCheckSelfHosted ← CallGetIntrinsicValue#260 Value 262 Constant undefined Undefined 263 Bail 716 Unreachable Block 16 267 Constant 0x0 Int32 279 Goto → block 17 Block 17 (loop header) 276 Phi ← Constant#267, Add#324 Value 734 Constant magic optimized-out MagicOptimizedOut 280 InterruptCheck 281 Unbox Phi#276 to Int32 (fallible) Int32 282 Unbox MinMax#202 to Int32 (fallible) Int32 283 Compare ← Unbox#281, Unbox#282 Lt Bool 284 Test ← Compare#283 → block 18, block 24 1 0 Block 18 739 Constant magic optimized-out MagicOptimizedOut 285 Unbox NewArrayObject#153 to Object (fallible) Object 286 Unbox Phi#276 to Int32 (fallible) Int32 287 GuardShape ← Unbox#285 Object 288 Elements ← GuardShape#287 Elements 289 InitializedLength ← Elements#288 Int32 290 BoundsCheck ← Unbox#286, InitializedLength#289 Int32 291 SpectreMaskIndex ← BoundsCheck#290, InitializedLength#289 Int32 292 GuardElementNotHole ← Elements#288, SpectreMaskIndex#291 293 Constant true Bool 294 Test ← Constant#293 → block 20, block 19 1 0 Block 19 (split edge) 736 Constant magic optimized-out MagicOptimizedOut 719 Goto → block 23 Block 20 738 Constant magic optimized-out MagicOptimizedOut 295 Unbox NewArrayObject#153 to Object (fallible) Object 296 Unbox Phi#276 to Int32 (fallible) Int32 297 GuardShape ← Unbox#295 Object 298 Elements ← GuardShape#297 Elements 299 InitializedLength ← Elements#298 Int32 300 BoundsCheck ← Unbox#296, InitializedLength#299 Int32 301 SpectreMaskIndex ← BoundsCheck#300, InitializedLength#299 Int32 302 GuardElementsArePacked ← Elements#298 303 LoadElement ← Elements#298, SpectreMaskIndex#301 Value 304 Constant 0x3 Int32 305 Unbox Lambda#184 to Object (fallible) Object 306 GuardToFunction ← Unbox#305 Object 307 GuardFunctionScript ← GuardToFunction#306 Object 308 Goto → block 21 Block 21 309 Constant undefined Undefined 310 Constant 0x2 Int32 311 Unbox LoadElement#303 to Double (fallible) Double 312 Mul ← Unbox#311, Constant#310 [double] Double 314 Goto → block 22 Block 22 737 Constant magic optimized-out MagicOptimizedOut 315 Unbox NewArrayDynamicLength#258 to Object (fallible) Object 316 Unbox Phi#276 to Int32 (fallible) Int32 317 GuardShape ← Unbox#315 Object 318 Elements ← GuardShape#317 Elements 319 StoreElementHole ← GuardShape#317, Elements#318, Unbox#316, Mul#312 320 Goto → block 23 Block 23 (backedge) 735 Constant magic optimized-out MagicOptimizedOut 322 Unbox Phi#276 to Int32 (fallible) Int32 323 Constant 0x1 Int32 324 Add ← Unbox#322, Constant#323 [int32] Int32 325 Goto → block 17 Block 24 328 Unbox NewArrayDynamicLength#258 to Object (fallible) Object 329 GuardShape ← Unbox#328 Object 330 Constant object 104289c3e088 (Array) Object 331 Constant function filter (self-hosted:183) at 104289c47970 Object 332 Constant function complex4/< (-e:18) at 104289c63d60 Object 333 Lambda ← FunctionEnvironment#179, Constant#332 Object 334 Constant 0x1 Int32 335 Constant function filter (self-hosted:183) at 104289c47970 Object 336 GuardSpecificFunction ← Constant#331, Constant#335 Object 337 Goto → block 25 Block 25 338 Constant undefined Undefined 339 Constant function ToObject at 104289c6c740 Object 340 DebugCheckSelfHosted ← Constant#339 Value 341 Constant undefined Undefined 342 Constant 0x1 Int32 343 Unbox NewArrayDynamicLength#258 to Object (fallible) Object 344 Constant function ToLength at 104289c6c778 Object 345 DebugCheckSelfHosted ← Constant#344 Value 346 Constant undefined Undefined 347 GuardShape ← Unbox#343 Object 348 Elements ← GuardShape#347 Elements 349 ArrayLength ← Elements#348 Int32 350 Constant 0x1 Int32 351 Constant 0x0 Int32 352 MinMax ← ArrayLength#349, Constant#351 (max) Int32 353 Constant 0x1 Int32 354 Constant 0x0 Int32 355 Compare ← Constant#353, Constant#354 StrictEq Bool 356 Test ← Compare#355 → block 26, block 27 1 0 Block 26 357 CallGetIntrinsicValue Value 358 DebugCheckSelfHosted ← CallGetIntrinsicValue#357 Value 359 Constant undefined Undefined 360 Constant 0x37 Int32 361 Constant 0x0 Int32 362 Constant string 104289c28540 String 363 Bail 715 Unreachable Block 27 366 Constant function IsCallable at 104289c6c7b0 Object 367 DebugCheckSelfHosted ← Constant#366 Value 368 Constant undefined Undefined 369 Constant 0x1 Int32 370 IsCallable ← Lambda#333 Bool 371 Test ← IsCallable#370 → block 29, block 28 1 0 Block 28 372 CallGetIntrinsicValue Value 373 DebugCheckSelfHosted ← CallGetIntrinsicValue#372 Value 374 Constant undefined Undefined 375 Constant 0xc Int32 376 CallGetIntrinsicValue Value 377 DebugCheckSelfHosted ← CallGetIntrinsicValue#376 Value 378 Constant undefined Undefined 379 Constant 0x0 Int32 380 Bail 714 Unreachable Block 29 385 Constant 0x1 Int32 386 Constant 0x1 Int32 387 Compare ← Constant#385, Constant#386 Gt Bool 388 Test ← Compare#387 → block 30, block 31 1 0 Block 30 389 Constant 0x1 Int32 390 GetInlinedArgument ← Constant#389, Lambda#333 Value 391 Goto → block 32 Block 31 392 Constant undefined Undefined 393 Goto → block 32 Block 32 394 Phi ← Constant#392, GetInlinedArgument#390 Value 395 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 396 DebugCheckSelfHosted ← Constant#395 Value 397 Constant undefined Undefined 398 Constant 0x1 Int32 399 HasShape ← Unbox#343 Bool 400 Test ← HasShape#399 → block 33, block 34 1 0 Block 33 401 Constant shape at 104289c64f00 Shape 402 NewArrayObject ← Constant#401 Object 403 Goto → block 35 Block 34 404 CallGetIntrinsicValue Value 405 DebugCheckSelfHosted ← CallGetIntrinsicValue#404 Value 406 Constant undefined Undefined 407 Constant 0x0 Int32 408 Bail 713 Unreachable Block 35 412 Constant 0x0 Int32 413 Constant 0x0 Int32 426 Goto → block 36 Block 36 (loop header) 422 Phi ← Constant#412, Add#475 Value 423 Phi ← Constant#413, Phi#471 Value 729 Constant magic optimized-out MagicOptimizedOut 427 InterruptCheck 428 Unbox Phi#422 to Int32 (fallible) Int32 429 Unbox MinMax#352 to Int32 (fallible) Int32 430 Compare ← Unbox#428, Unbox#429 Lt Bool 431 Test ← Compare#430 → block 37, block 45 1 0 Block 37 733 Constant magic optimized-out MagicOptimizedOut 432 Unbox Unbox#343 to Object (fallible) Object 433 Unbox Phi#422 to Int32 (fallible) Int32 434 GuardShape ← Unbox#432 Object 435 Elements ← GuardShape#434 Elements 436 InitializedLength ← Elements#435 Int32 437 BoundsCheck ← Unbox#433, InitializedLength#436 Int32 438 SpectreMaskIndex ← BoundsCheck#437, InitializedLength#436 Int32 439 GuardElementNotHole ← Elements#435, SpectreMaskIndex#438 440 Constant true Bool 441 Test ← Constant#440 → block 39, block 38 1 0 Block 38 (split edge) 731 Constant magic optimized-out MagicOptimizedOut 720 Goto → block 44 Block 39 732 Constant magic optimized-out MagicOptimizedOut 442 Unbox Unbox#343 to Object (fallible) Object 443 Unbox Phi#422 to Int32 (fallible) Int32 444 GuardShape ← Unbox#442 Object 445 Elements ← GuardShape#444 Elements 446 InitializedLength ← Elements#445 Int32 447 BoundsCheck ← Unbox#443, InitializedLength#446 Int32 448 SpectreMaskIndex ← BoundsCheck#447, InitializedLength#446 Int32 449 GuardElementsArePacked ← Elements#445 450 LoadElement ← Elements#445, SpectreMaskIndex#448 Value 451 Constant 0x3 Int32 452 Unbox Lambda#333 to Object (fallible) Object 453 GuardToFunction ← Unbox#452 Object 454 GuardFunctionScript ← GuardToFunction#453 Object 455 Goto → block 40 Block 40 456 Constant undefined Undefined 457 Constant 0x32 Int32 458 Unbox LoadElement#450 to Double (fallible) Double 459 Compare ← Unbox#458, Constant#457 Gt Bool 461 Goto → block 41 Block 41 462 Test ← Compare#459 → block 43, block 42 1 0 Block 42 (split edge) 721 Goto → block 44 Block 43 463 Unbox Phi#423 to Int32 (fallible) Int32 464 Constant 0x1 Int32 465 Add ← Unbox#463, Constant#464 [int32] Int32 466 Unbox NewArrayObject#402 to Object (fallible) Object 467 GuardShape ← Unbox#466 Object 468 Elements ← GuardShape#467 Elements 469 StoreElementHole ← GuardShape#467, Elements#468, Unbox#463, LoadElement#450 470 Goto → block 44 Block 44 (backedge) 471 Phi ← Add#465, Phi#423, Phi#423 Value 730 Constant magic optimized-out MagicOptimizedOut 473 Unbox Phi#422 to Int32 (fallible) Int32 474 Constant 0x1 Int32 475 Add ← Unbox#473, Constant#474 [int32] Int32 476 Goto → block 36 Block 45 479 Unbox NewArrayObject#402 to Object (fallible) Object 480 GuardShape ← Unbox#479 Object 481 Constant object 104289c3e088 (Array) Object 482 Constant function reduce (self-hosted:205) at 104289c479c0 Object 483 Constant function complex4/< (-e:18) at 104289c63d98 Object 484 Lambda ← FunctionEnvironment#179, Constant#483 Object 485 Constant 0x0 Int32 486 Constant 0x2 Int32 487 Constant function reduce (self-hosted:205) at 104289c479c0 Object 488 GuardSpecificFunction ← Constant#482, Constant#487 Object 489 Call ← GuardSpecificFunction#488, NewArrayObject#402, Lambda#484, Constant#485 Value 491 Goto → block 46 Block 46 492 Constant object 104289c3f040 (LexicalEnvironment) Object 493 Constant object 104289c3e030 (global) Object 494 Constant function complex5 (-e:21) at 104289c6c900 Object 495 Constant undefined Undefined 496 Constant shape at 104289c64fc0 Shape 497 NewPlainObject ← Constant#496 Object 498 GuardShape ← NewPlainObject#497 Object 499 PostWriteBarrier ← GuardShape#498, Call#112 500 StoreFixedSlot ← GuardShape#498, Call#112 (slot 0) 501 GuardShape ← NewPlainObject#497 Object 502 PostWriteBarrier ← GuardShape#501, BitOr#137 503 StoreFixedSlot ← GuardShape#501, BitOr#137 (slot 1) 504 GuardShape ← NewPlainObject#497 Object 505 PostWriteBarrier ← GuardShape#504, Call#147 506 StoreFixedSlot ← GuardShape#504, Call#147 (slot 2) 507 Constant 0x1 Int32 508 Constant function complex5 (-e:21) at 104289c6c900 Object 509 GuardSpecificFunction ← Constant#494, Constant#508 Object 510 Goto → block 47 Block 47 511 Constant undefined Undefined 512 FunctionEnvironment ← GuardSpecificFunction#509 Object 513 Constant object 104289c3f078 (Call) Object 514 NewCallObject ← Constant#513 Object 515 AssertCanElidePostWriteBarrier ← NewCallObject#514, FunctionEnvironment#512 516 AssertCanElidePostWriteBarrier ← NewCallObject#514, GuardSpecificFunction#509 517 StoreFixedSlot ← NewCallObject#514, FunctionEnvironment#512 (slot 0) 518 StoreFixedSlot ← NewCallObject#514, GuardSpecificFunction#509 (slot 1) 519 PostWriteBarrier ← NewCallObject#514, NewPlainObject#497 520 StoreFixedSlot ← NewCallObject#514, NewPlainObject#497 (slot 2) 521 Constant object 104289c3f040 (LexicalEnvironment) Object 522 Constant object 104289c3e030 (global) Object 523 Constant function Object at 104289c422e0 Object 524 Constant function Object at 104289c422e0 Object 525 GuardObjectIdentity ← Constant#523, Constant#524 Object 526 Constant function keys at 104289c42468 Object 527 LoadFixedSlot ← NewCallObject#514 (slot 2) Value 528 Constant 0x1 Int32 529 Constant function keys at 104289c42468 Object 530 GuardSpecificFunction ← Constant#526, Constant#529 Object 531 Unbox LoadFixedSlot#527 to Object (fallible) Object 532 GuardIsNotProxy ← Unbox#531 Object 533 ObjectKeys ← GuardIsNotProxy#532 Object 534 GuardShape ← ObjectKeys#533 Object 535 Constant object 104289c3e088 (Array) Object 536 Constant function map (self-hosted:163) at 104289c47920 Object 537 Constant function complex5/< (-e:22) at 104289c63e08 Object 538 Lambda ← NewCallObject#514, Constant#537 Object 539 Constant 0x1 Int32 540 Constant function map (self-hosted:163) at 104289c47920 Object 541 GuardSpecificFunction ← Constant#536, Constant#540 Object 542 Goto → block 48 Block 48 543 Constant undefined Undefined 544 Constant function ToObject at 104289c6c740 Object 545 DebugCheckSelfHosted ← Constant#544 Value 546 Constant undefined Undefined 547 Constant 0x1 Int32 548 Constant function ToLength at 104289c6c778 Object 549 DebugCheckSelfHosted ← Constant#548 Value 550 Constant undefined Undefined 551 GuardShape ← ObjectKeys#533 Object 552 Elements ← GuardShape#551 Elements 553 ArrayLength ← Elements#552 Int32 554 Constant 0x1 Int32 555 Constant 0x0 Int32 556 MinMax ← ArrayLength#553, Constant#555 (max) Int32 557 Constant 0x1 Int32 558 Constant 0x0 Int32 559 Compare ← Constant#557, Constant#558 StrictEq Bool 560 Test ← Compare#559 → block 49, block 50 1 0 Block 49 561 CallGetIntrinsicValue Value 562 DebugCheckSelfHosted ← CallGetIntrinsicValue#561 Value 563 Constant undefined Undefined 564 Constant 0x37 Int32 565 Constant 0x0 Int32 566 Constant string 104289c2e080 String 567 Bail 712 Unreachable Block 50 570 Constant function IsCallable at 104289c6c7b0 Object 571 DebugCheckSelfHosted ← Constant#570 Value 572 Constant undefined Undefined 573 Constant 0x1 Int32 574 IsCallable ← Lambda#538 Bool 575 Test ← IsCallable#574 → block 52, block 51 1 0 Block 51 576 CallGetIntrinsicValue Value 577 DebugCheckSelfHosted ← CallGetIntrinsicValue#576 Value 578 Constant undefined Undefined 579 Constant 0xc Int32 580 CallGetIntrinsicValue Value 581 DebugCheckSelfHosted ← CallGetIntrinsicValue#580 Value 582 Constant undefined Undefined 583 Constant 0x0 Int32 584 Bail 711 Unreachable Block 52 589 Constant 0x1 Int32 590 Constant 0x1 Int32 591 Compare ← Constant#589, Constant#590 Gt Bool 592 Test ← Compare#591 → block 53, block 54 1 0 Block 53 593 Constant 0x1 Int32 594 GetInlinedArgument ← Constant#593, Lambda#538 Value 595 Goto → block 55 Block 54 596 Constant undefined Undefined 597 Goto → block 55 Block 55 598 Phi ← Constant#596, GetInlinedArgument#594 Value 599 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 600 DebugCheckSelfHosted ← Constant#599 Value 601 Constant undefined Undefined 602 Constant 0x1 Int32 603 HasShape ← ObjectKeys#533 Bool 604 Test ← HasShape#603 → block 56, block 57 1 0 Block 56 605 Constant function std_Array at 104289c6c820 Object 606 DebugCheckSelfHosted ← Constant#605 Value 607 Constant undefined Undefined 608 Constant 0x1 Int32 609 Unbox DebugCheckSelfHosted#606 to Object (fallible) Object 610 Constant function std_Array at 104289c6c820 Object 611 GuardSpecificFunction ← Unbox#609, Constant#610 Object 612 NewArrayDynamicLength ← MinMax#556 Object 613 Goto → block 58 Block 57 614 CallGetIntrinsicValue Value 615 DebugCheckSelfHosted ← CallGetIntrinsicValue#614 Value 616 Constant undefined Undefined 617 Bail 710 Unreachable Block 58 621 Constant 0x0 Int32 633 Goto → block 59 Block 59 (loop header) 630 Phi ← Constant#621, Add#679 Value 723 Constant magic optimized-out MagicOptimizedOut 634 InterruptCheck 635 Unbox Phi#630 to Int32 (fallible) Int32 636 Unbox MinMax#556 to Int32 (fallible) Int32 637 Compare ← Unbox#635, Unbox#636 Lt Bool 638 Test ← Compare#637 → block 60, block 66 1 0 Block 60 728 Constant magic optimized-out MagicOptimizedOut 639 Unbox ObjectKeys#533 to Object (fallible) Object 640 Unbox Phi#630 to Int32 (fallible) Int32 641 GuardShape ← Unbox#639 Object 642 Elements ← GuardShape#641 Elements 643 InitializedLength ← Elements#642 Int32 644 BoundsCheck ← Unbox#640, InitializedLength#643 Int32 645 SpectreMaskIndex ← BoundsCheck#644, InitializedLength#643 Int32 646 GuardElementNotHole ← Elements#642, SpectreMaskIndex#645 647 Constant true Bool 648 Test ← Constant#647 → block 62, block 61 1 0 Block 61 (split edge) 725 Constant magic optimized-out MagicOptimizedOut 722 Goto → block 65 Block 62 727 Constant magic optimized-out MagicOptimizedOut 649 Unbox ObjectKeys#533 to Object (fallible) Object 650 Unbox Phi#630 to Int32 (fallible) Int32 651 GuardShape ← Unbox#649 Object 652 Elements ← GuardShape#651 Elements 653 InitializedLength ← Elements#652 Int32 654 BoundsCheck ← Unbox#650, InitializedLength#653 Int32 655 SpectreMaskIndex ← BoundsCheck#654, InitializedLength#653 Int32 656 GuardElementsArePacked ← Elements#652 657 LoadElement ← Elements#652, SpectreMaskIndex#655 Value 658 Constant 0x3 Int32 659 Unbox Lambda#538 to Object (fallible) Object 660 GuardToFunction ← Unbox#659 Object 661 GuardFunctionScript ← GuardToFunction#660 Object 662 Goto → block 63 Block 63 663 Constant undefined Undefined 664 FunctionEnvironment ← GuardFunctionScript#661 Object 665 LoadFixedSlot ← FunctionEnvironment#664 (slot 2) Value 666 Unbox LoadFixedSlot#665 to Object (fallible) Object 667 MegamorphicLoadSlotByValue ← Unbox#666, LoadElement#657 Value 669 Goto → block 64 Block 64 726 Constant magic optimized-out MagicOptimizedOut 670 Unbox NewArrayDynamicLength#612 to Object (fallible) Object 671 Unbox Phi#630 to Int32 (fallible) Int32 672 GuardShape ← Unbox#670 Object 673 Elements ← GuardShape#672 Elements 674 StoreElementHole ← GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667 675 Goto → block 65 Block 65 (backedge) 724 Constant magic optimized-out MagicOptimizedOut 677 Unbox Phi#630 to Int32 (fallible) Int32 678 Constant 0x1 Int32 679 Add ← Unbox#677, Constant#678 [int32] Int32 680 Goto → block 59 Block 66 683 Unbox NewArrayDynamicLength#612 to Object (fallible) Object 684 GuardShape ← Unbox#683 Object 685 Constant object 104289c3e088 (Array) Object 686 Constant function reduce (self-hosted:205) at 104289c479c0 Object 687 Constant function complex5/< (-e:22) at 104289c63e40 Object 688 Lambda ← NewCallObject#514, Constant#687 Object 689 Constant 0x0 Int32 690 Constant 0x2 Int32 691 Constant function reduce (self-hosted:205) at 104289c479c0 Object 692 GuardSpecificFunction ← Constant#686, Constant#691 Object 693 Call ← GuardSpecificFunction#692, NewArrayDynamicLength#612, Lambda#688, Constant#689 Value 695 Goto → block 67 Block 67 (backedge) 696 Unbox Phi#95 to Int32 (fallible) Int32 697 Constant 0x1 Int32 698 Add ← Unbox#696, Constant#697 [int32] Int32 699 Goto → block 1 Block 68 700 Unbox Phi#88 to Double (fallible) Double 701 Unbox Phi#89 to Double (fallible) Double 702 Add ← Unbox#700, Unbox#701 [double] Double 703 Unbox Phi#90 to Double (fallible) Double 704 Add ← Add#702, Unbox#703 [double] Double 705 Unbox Phi#92 to Double (fallible) Double 706 Add ← Add#704, Unbox#705 [double] Double 707 Unbox Phi#94 to Double (fallible) Double 708 Add ← Add#706, Unbox#707 [double] Double 709 Return ← Add#708
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant magic uninitialized-lexical MagicUninitializedLexical 6 Constant object 104289c3f040 (LexicalEnvironment) Object 7 Constant object 104289c3e030 (global) Object 8 Constant function complex1 (-e:2) at 104289c6c8c8 Object 9 Constant undefined Undefined 10 Constant 0x1 Int32 11 Constant function complex1 (-e:2) at 104289c6c8c8 Object 12 GuardSpecificFunction ← Constant#8, Constant#11 Object 13 Call ← GuardSpecificFunction#12, Constant#9, Parameter#1 Value 14 Constant object 104289c3f040 (LexicalEnvironment) Object 15 Constant object 104289c3e030 (global) Object 16 Constant function complex2 (-e:7) at 104289c6c970 Object 17 Constant undefined Undefined 18 Constant 0x1 Int32 19 Constant function complex2 (-e:7) at 104289c6c970 Object 20 GuardSpecificFunction ← Constant#16, Constant#19 Object 21 Call ← GuardSpecificFunction#20, Constant#17, Parameter#1 Value 22 Constant object 104289c3f040 (LexicalEnvironment) Object 23 Constant object 104289c3e030 (global) Object 24 Constant function complex3 (-e:11) at 104289c6c938 Object 25 Constant undefined Undefined 26 Constant 0x2 Int32 27 Constant function complex3 (-e:11) at 104289c6c938 Object 28 GuardSpecificFunction ← Constant#24, Constant#27 Object 29 Call ← GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13 Value 30 Constant shape at 104289c64f00 Shape 31 NewArrayObject ← Constant#30 Object 32 Constant 0x0 Int32 33 Elements ← NewArrayObject#31 Elements 34 PostWriteBarrier ← NewArrayObject#31, Call#13 35 StoreElement ← Elements#33, Constant#32, Call#13 36 SetInitializedLength ← Elements#33, Constant#32 37 Constant 0x1 Int32 38 Elements ← NewArrayObject#31 Elements 39 PostWriteBarrier ← NewArrayObject#31, Call#21 40 StoreElement ← Elements#38, Constant#37, Call#21 41 SetInitializedLength ← Elements#38, Constant#37 42 Constant 0x2 Int32 43 Elements ← NewArrayObject#31 Elements 44 PostWriteBarrier ← NewArrayObject#31, Call#29 45 StoreElement ← Elements#43, Constant#42, Call#29 46 SetInitializedLength ← Elements#43, Constant#42 47 Constant 0x3 Int32 48 Elements ← NewArrayObject#31 Elements 49 PostWriteBarrier ← NewArrayObject#31, Parameter#1 50 StoreElement ← Elements#48, Constant#47, Parameter#1 51 SetInitializedLength ← Elements#48, Constant#47 52 Constant object 104289c3f040 (LexicalEnvironment) Object 53 Constant object 104289c3e030 (global) Object 54 Constant function complex4 (-e:17) at 104289c6c890 Object 55 Constant undefined Undefined 56 Constant 0x1 Int32 57 Constant function complex4 (-e:17) at 104289c6c890 Object 58 GuardSpecificFunction ← Constant#54, Constant#57 Object 59 Call ← GuardSpecificFunction#58, Constant#55, NewArrayObject#31 Value 60 Constant shape at 104289c64fa0 Shape 61 NewPlainObject ← Constant#60 Object 62 GuardShape ← NewPlainObject#61 Object 63 PostWriteBarrier ← GuardShape#62, Call#13 64 StoreFixedSlot ← GuardShape#62, Call#13 (slot 0) 65 GuardShape ← NewPlainObject#61 Object 66 PostWriteBarrier ← GuardShape#65, Call#21 67 StoreFixedSlot ← GuardShape#65, Call#21 (slot 1) 68 GuardShape ← NewPlainObject#61 Object 69 PostWriteBarrier ← GuardShape#68, Call#29 70 StoreFixedSlot ← GuardShape#68, Call#29 (slot 2) 71 GuardShape ← NewPlainObject#61 Object 72 PostWriteBarrier ← GuardShape#71, Call#59 73 StoreFixedSlot ← GuardShape#71, Call#59 (slot 3) 74 Constant object 104289c3f040 (LexicalEnvironment) Object 75 Constant object 104289c3e030 (global) Object 76 Constant function complex5 (-e:21) at 104289c6c900 Object 77 Constant undefined Undefined 78 Constant 0x1 Int32 79 Constant function complex5 (-e:21) at 104289c6c900 Object 80 GuardSpecificFunction ← Constant#76, Constant#79 Object 81 Call ← GuardSpecificFunction#80, Constant#77, NewPlainObject#61 Value 82 Constant magic uninitialized-lexical MagicUninitializedLexical 83 Constant 0x0 Int32 96 Goto → block 1 Block 1 (loop header) 88 Phi ← Call#13, Call#112 Value 89 Phi ← Call#21, BitOr#137 Value 90 Phi ← Call#29, Call#147 Value 92 Phi ← Call#59, Call#489 Value 94 Phi ← Call#81, Call#693 Value 95 Phi ← Constant#83, Add#698 Value 97 InterruptCheck 98 Constant 0xa Int32 99 Unbox Phi#95 to Int32 (fallible) Int32 100 Compare ← Unbox#99, Constant#98 Lt Bool 101 Test ← Compare#100 → block 2, block 68 1 0 Block 2 102 Constant object 104289c3f040 (LexicalEnvironment) Object 103 Constant object 104289c3e030 (global) Object 104 Constant function complex1 (-e:2) at 104289c6c8c8 Object 105 Constant undefined Undefined 106 Unbox Phi#88 to Double (fallible) Double 107 Unbox Phi#95 to Double (fallible) Double 108 Add ← Unbox#106, Unbox#107 [double] Double 109 Constant 0x1 Int32 110 Constant function complex1 (-e:2) at 104289c6c8c8 Object 111 GuardSpecificFunction ← Constant#104, Constant#110 Object 112 Call ← GuardSpecificFunction#111, Constant#105, Add#108 Value 113 Constant object 104289c3f040 (LexicalEnvironment) Object 114 Constant object 104289c3e030 (global) Object 115 Constant function complex2 (-e:7) at 104289c6c970 Object 116 Constant undefined Undefined 117 Unbox Phi#89 to Int32 (fallible) Int32 118 Unbox Phi#95 to Int32 (fallible) Int32 119 Add ← Unbox#117, Unbox#118 [int32] Int32 120 Constant 0x1 Int32 121 Constant function complex2 (-e:7) at 104289c6c970 Object 122 GuardSpecificFunction ← Constant#115, Constant#121 Object 123 Goto → block 3 Block 3 124 Constant undefined Undefined 125 Constant 0x1 Int32 126 Lsh ← Add#119, Constant#125 Int32 127 Constant 0x1 Int32 128 Rsh ← Add#119, Constant#127 Int32 129 Constant 0xff Int32 130 BitAnd ← Add#119, Constant#129 Int32 131 Constant 0x2 Int32 132 Ursh ← Add#119, Constant#131 Int32 133 Add ← BitAnd#130, Ursh#132 [int32] Int32 134 BitNot ← Add#119 Int32 135 Sub ← Add#133, BitNot#134 [int32] Int32 136 BitXor ← Rsh#128, Sub#135 Int32 137 BitOr ← Lsh#126, BitXor#136 Int32 139 Goto → block 4 Block 4 140 Constant object 104289c3f040 (LexicalEnvironment) Object 141 Constant object 104289c3e030 (global) Object 142 Constant function complex3 (-e:11) at 104289c6c938 Object 143 Constant undefined Undefined 144 Constant 0x2 Int32 145 Constant function complex3 (-e:11) at 104289c6c938 Object 146 GuardSpecificFunction ← Constant#142, Constant#145 Object 147 Call ← GuardSpecificFunction#146, Constant#143, Phi#90, Call#112 Value 148 Constant object 104289c3f040 (LexicalEnvironment) Object 149 Constant object 104289c3e030 (global) Object 150 Constant function complex4 (-e:17) at 104289c6c890 Object 151 Constant undefined Undefined 152 Constant shape at 104289c64f00 Shape 153 NewArrayObject ← Constant#152 Object 154 Constant 0x0 Int32 155 Elements ← NewArrayObject#153 Elements 156 PostWriteBarrier ← NewArrayObject#153, Call#112 157 StoreElement ← Elements#155, Constant#154, Call#112 158 SetInitializedLength ← Elements#155, Constant#154 159 Constant 0x1 Int32 160 Elements ← NewArrayObject#153 Elements 161 PostWriteBarrier ← NewArrayObject#153, BitOr#137 162 StoreElement ← Elements#160, Constant#159, BitOr#137 163 SetInitializedLength ← Elements#160, Constant#159 164 Constant 0x2 Int32 165 Elements ← NewArrayObject#153 Elements 166 PostWriteBarrier ← NewArrayObject#153, Call#147 167 StoreElement ← Elements#165, Constant#164, Call#147 168 SetInitializedLength ← Elements#165, Constant#164 169 Constant 0x3 Int32 170 Elements ← NewArrayObject#153 Elements 171 PostWriteBarrier ← NewArrayObject#153, Phi#95 172 StoreElement ← Elements#170, Constant#169, Phi#95 173 SetInitializedLength ← Elements#170, Constant#169 174 Constant 0x1 Int32 175 Constant function complex4 (-e:17) at 104289c6c890 Object 176 GuardSpecificFunction ← Constant#150, Constant#175 Object 177 Goto → block 5 Block 5 178 Constant undefined Undefined 179 FunctionEnvironment ← GuardSpecificFunction#176 Object 180 GuardShape ← NewArrayObject#153 Object 181 Constant object 104289c3e088 (Array) Object 182 Constant function map (self-hosted:163) at 104289c47920 Object 183 Constant function complex4/< (-e:18) at 104289c63d28 Object 184 Lambda ← FunctionEnvironment#179, Constant#183 Object 185 Constant 0x1 Int32 186 Constant function map (self-hosted:163) at 104289c47920 Object 187 GuardSpecificFunction ← Constant#182, Constant#186 Object 188 Goto → block 6 Block 6 189 Constant undefined Undefined 190 Constant function ToObject at 104289c6c740 Object 191 DebugCheckSelfHosted ← Constant#190 Value 192 Constant undefined Undefined 193 Constant 0x1 Int32 194 Constant function ToLength at 104289c6c778 Object 195 DebugCheckSelfHosted ← Constant#194 Value 196 Constant undefined Undefined 197 GuardShape ← NewArrayObject#153 Object 198 Elements ← GuardShape#197 Elements 199 ArrayLength ← Elements#198 Int32 200 Constant 0x1 Int32 201 Constant 0x0 Int32 202 MinMax ← ArrayLength#199, Constant#201 (max) Int32 203 Constant 0x1 Int32 204 Constant 0x0 Int32 205 Compare ← Constant#203, Constant#204 StrictEq Bool 206 Test ← Compare#205 → block 7, block 8 1 0 Block 7 207 CallGetIntrinsicValue Value 208 DebugCheckSelfHosted ← CallGetIntrinsicValue#207 Value 209 Constant undefined Undefined 210 Constant 0x37 Int32 211 Constant 0x0 Int32 212 Constant string 104289c2e080 String 213 Bail 718 Unreachable Block 8 216 Constant function IsCallable at 104289c6c7b0 Object 217 DebugCheckSelfHosted ← Constant#216 Value 218 Constant undefined Undefined 219 Constant 0x1 Int32 220 IsCallable ← Lambda#184 Bool 221 Test ← IsCallable#220 → block 10, block 9 1 0 Block 9 222 CallGetIntrinsicValue Value 223 DebugCheckSelfHosted ← CallGetIntrinsicValue#222 Value 224 Constant undefined Undefined 225 Constant 0xc Int32 226 CallGetIntrinsicValue Value 227 DebugCheckSelfHosted ← CallGetIntrinsicValue#226 Value 228 Constant undefined Undefined 229 Constant 0x0 Int32 230 Bail 717 Unreachable Block 10 235 Constant 0x1 Int32 236 Constant 0x1 Int32 237 Compare ← Constant#235, Constant#236 Gt Bool 238 Test ← Compare#237 → block 11, block 12 1 0 Block 11 239 Constant 0x1 Int32 240 GetInlinedArgument ← Constant#239, Lambda#184 Value 241 Goto → block 13 Block 12 242 Constant undefined Undefined 243 Goto → block 13 Block 13 244 Phi ← Constant#242, GetInlinedArgument#240 Value 245 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 246 DebugCheckSelfHosted ← Constant#245 Value 247 Constant undefined Undefined 248 Constant 0x1 Int32 249 HasShape ← NewArrayObject#153 Bool 250 Test ← HasShape#249 → block 14, block 15 1 0 Block 14 251 Constant function std_Array at 104289c6c820 Object 252 DebugCheckSelfHosted ← Constant#251 Value 253 Constant undefined Undefined 254 Constant 0x1 Int32 255 Unbox DebugCheckSelfHosted#252 to Object (fallible) Object 256 Constant function std_Array at 104289c6c820 Object 257 GuardSpecificFunction ← Unbox#255, Constant#256 Object 258 NewArrayDynamicLength ← MinMax#202 Object 259 Goto → block 16 Block 15 260 CallGetIntrinsicValue Value 261 DebugCheckSelfHosted ← CallGetIntrinsicValue#260 Value 262 Constant undefined Undefined 263 Bail 716 Unreachable Block 16 267 Constant 0x0 Int32 279 Goto → block 17 Block 17 (loop header) 276 Phi ← Constant#267, Add#324 Value 734 Constant magic optimized-out MagicOptimizedOut 280 InterruptCheck 281 Unbox Phi#276 to Int32 (fallible) Int32 282 Unbox MinMax#202 to Int32 (fallible) Int32 283 Compare ← Unbox#281, Unbox#282 Lt Bool 284 Test ← Compare#283 → block 18, block 24 1 0 Block 18 739 Constant magic optimized-out MagicOptimizedOut 285 Unbox NewArrayObject#153 to Object (fallible) Object 286 Unbox Phi#276 to Int32 (fallible) Int32 287 GuardShape ← Unbox#285 Object 288 Elements ← GuardShape#287 Elements 289 InitializedLength ← Elements#288 Int32 290 BoundsCheck ← Unbox#286, InitializedLength#289 Int32 291 SpectreMaskIndex ← BoundsCheck#290, InitializedLength#289 Int32 292 GuardElementNotHole ← Elements#288, SpectreMaskIndex#291 293 Constant true Bool 294 Test ← Constant#293 → block 20, block 19 1 0 Block 19 (split edge) 736 Constant magic optimized-out MagicOptimizedOut 719 Goto → block 23 Block 20 738 Constant magic optimized-out MagicOptimizedOut 295 Unbox NewArrayObject#153 to Object (fallible) Object 296 Unbox Phi#276 to Int32 (fallible) Int32 297 GuardShape ← Unbox#295 Object 298 Elements ← GuardShape#297 Elements 299 InitializedLength ← Elements#298 Int32 300 BoundsCheck ← Unbox#296, InitializedLength#299 Int32 301 SpectreMaskIndex ← BoundsCheck#300, InitializedLength#299 Int32 302 GuardElementsArePacked ← Elements#298 303 LoadElement ← Elements#298, SpectreMaskIndex#301 Value 304 Constant 0x3 Int32 305 Unbox Lambda#184 to Object (fallible) Object 306 GuardToFunction ← Unbox#305 Object 307 GuardFunctionScript ← GuardToFunction#306 Object 308 Goto → block 21 Block 21 309 Constant undefined Undefined 310 Constant 0x2 Int32 311 Unbox LoadElement#303 to Double (fallible) Double 312 Mul ← Unbox#311, Constant#310 [double] Double 314 Goto → block 22 Block 22 737 Constant magic optimized-out MagicOptimizedOut 315 Unbox NewArrayDynamicLength#258 to Object (fallible) Object 316 Unbox Phi#276 to Int32 (fallible) Int32 317 GuardShape ← Unbox#315 Object 318 Elements ← GuardShape#317 Elements 319 StoreElementHole ← GuardShape#317, Elements#318, Unbox#316, Mul#312 320 Goto → block 23 Block 23 (backedge) 735 Constant magic optimized-out MagicOptimizedOut 322 Unbox Phi#276 to Int32 (fallible) Int32 323 Constant 0x1 Int32 324 Add ← Unbox#322, Constant#323 [int32] Int32 325 Goto → block 17 Block 24 328 Unbox NewArrayDynamicLength#258 to Object (fallible) Object 329 GuardShape ← Unbox#328 Object 330 Constant object 104289c3e088 (Array) Object 331 Constant function filter (self-hosted:183) at 104289c47970 Object 332 Constant function complex4/< (-e:18) at 104289c63d60 Object 333 Lambda ← FunctionEnvironment#179, Constant#332 Object 334 Constant 0x1 Int32 335 Constant function filter (self-hosted:183) at 104289c47970 Object 336 GuardSpecificFunction ← Constant#331, Constant#335 Object 337 Goto → block 25 Block 25 338 Constant undefined Undefined 339 Constant function ToObject at 104289c6c740 Object 340 DebugCheckSelfHosted ← Constant#339 Value 341 Constant undefined Undefined 342 Constant 0x1 Int32 343 Unbox NewArrayDynamicLength#258 to Object (fallible) Object 344 Constant function ToLength at 104289c6c778 Object 345 DebugCheckSelfHosted ← Constant#344 Value 346 Constant undefined Undefined 347 GuardShape ← Unbox#343 Object 348 Elements ← GuardShape#347 Elements 349 ArrayLength ← Elements#348 Int32 350 Constant 0x1 Int32 351 Constant 0x0 Int32 352 MinMax ← ArrayLength#349, Constant#351 (max) Int32 353 Constant 0x1 Int32 354 Constant 0x0 Int32 355 Compare ← Constant#353, Constant#354 StrictEq Bool 356 Test ← Compare#355 → block 26, block 27 1 0 Block 26 357 CallGetIntrinsicValue Value 358 DebugCheckSelfHosted ← CallGetIntrinsicValue#357 Value 359 Constant undefined Undefined 360 Constant 0x37 Int32 361 Constant 0x0 Int32 362 Constant string 104289c28540 String 363 Bail 715 Unreachable Block 27 366 Constant function IsCallable at 104289c6c7b0 Object 367 DebugCheckSelfHosted ← Constant#366 Value 368 Constant undefined Undefined 369 Constant 0x1 Int32 370 IsCallable ← Lambda#333 Bool 371 Test ← IsCallable#370 → block 29, block 28 1 0 Block 28 372 CallGetIntrinsicValue Value 373 DebugCheckSelfHosted ← CallGetIntrinsicValue#372 Value 374 Constant undefined Undefined 375 Constant 0xc Int32 376 CallGetIntrinsicValue Value 377 DebugCheckSelfHosted ← CallGetIntrinsicValue#376 Value 378 Constant undefined Undefined 379 Constant 0x0 Int32 380 Bail 714 Unreachable Block 29 385 Constant 0x1 Int32 386 Constant 0x1 Int32 387 Compare ← Constant#385, Constant#386 Gt Bool 388 Test ← Compare#387 → block 30, block 31 1 0 Block 30 389 Constant 0x1 Int32 390 GetInlinedArgument ← Constant#389, Lambda#333 Value 391 Goto → block 32 Block 31 392 Constant undefined Undefined 393 Goto → block 32 Block 32 394 Phi ← Constant#392, GetInlinedArgument#390 Value 395 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 396 DebugCheckSelfHosted ← Constant#395 Value 397 Constant undefined Undefined 398 Constant 0x1 Int32 399 HasShape ← Unbox#343 Bool 400 Test ← HasShape#399 → block 33, block 34 1 0 Block 33 401 Constant shape at 104289c64f00 Shape 402 NewArrayObject ← Constant#401 Object 403 Goto → block 35 Block 34 404 CallGetIntrinsicValue Value 405 DebugCheckSelfHosted ← CallGetIntrinsicValue#404 Value 406 Constant undefined Undefined 407 Constant 0x0 Int32 408 Bail 713 Unreachable Block 35 412 Constant 0x0 Int32 413 Constant 0x0 Int32 426 Goto → block 36 Block 36 (loop header) 422 Phi ← Constant#412, Add#475 Value 423 Phi ← Constant#413, Phi#471 Value 729 Constant magic optimized-out MagicOptimizedOut 427 InterruptCheck 428 Unbox Phi#422 to Int32 (fallible) Int32 429 Unbox MinMax#352 to Int32 (fallible) Int32 430 Compare ← Unbox#428, Unbox#429 Lt Bool 431 Test ← Compare#430 → block 37, block 45 1 0 Block 37 733 Constant magic optimized-out MagicOptimizedOut 432 Unbox Unbox#343 to Object (fallible) Object 433 Unbox Phi#422 to Int32 (fallible) Int32 434 GuardShape ← Unbox#432 Object 435 Elements ← GuardShape#434 Elements 436 InitializedLength ← Elements#435 Int32 437 BoundsCheck ← Unbox#433, InitializedLength#436 Int32 438 SpectreMaskIndex ← BoundsCheck#437, InitializedLength#436 Int32 439 GuardElementNotHole ← Elements#435, SpectreMaskIndex#438 440 Constant true Bool 441 Test ← Constant#440 → block 39, block 38 1 0 Block 38 (split edge) 731 Constant magic optimized-out MagicOptimizedOut 720 Goto → block 44 Block 39 732 Constant magic optimized-out MagicOptimizedOut 442 Unbox Unbox#343 to Object (fallible) Object 443 Unbox Phi#422 to Int32 (fallible) Int32 444 GuardShape ← Unbox#442 Object 445 Elements ← GuardShape#444 Elements 446 InitializedLength ← Elements#445 Int32 447 BoundsCheck ← Unbox#443, InitializedLength#446 Int32 448 SpectreMaskIndex ← BoundsCheck#447, InitializedLength#446 Int32 449 GuardElementsArePacked ← Elements#445 450 LoadElement ← Elements#445, SpectreMaskIndex#448 Value 451 Constant 0x3 Int32 452 Unbox Lambda#333 to Object (fallible) Object 453 GuardToFunction ← Unbox#452 Object 454 GuardFunctionScript ← GuardToFunction#453 Object 455 Goto → block 40 Block 40 456 Constant undefined Undefined 457 Constant 0x32 Int32 458 Unbox LoadElement#450 to Double (fallible) Double 459 Compare ← Unbox#458, Constant#457 Gt Bool 461 Goto → block 41 Block 41 462 Test ← Compare#459 → block 43, block 42 1 0 Block 42 (split edge) 721 Goto → block 44 Block 43 463 Unbox Phi#423 to Int32 (fallible) Int32 464 Constant 0x1 Int32 465 Add ← Unbox#463, Constant#464 [int32] Int32 466 Unbox NewArrayObject#402 to Object (fallible) Object 467 GuardShape ← Unbox#466 Object 468 Elements ← GuardShape#467 Elements 469 StoreElementHole ← GuardShape#467, Elements#468, Unbox#463, LoadElement#450 470 Goto → block 44 Block 44 (backedge) 471 Phi ← Add#465, Phi#423, Phi#423 Value 730 Constant magic optimized-out MagicOptimizedOut 473 Unbox Phi#422 to Int32 (fallible) Int32 474 Constant 0x1 Int32 475 Add ← Unbox#473, Constant#474 [int32] Int32 476 Goto → block 36 Block 45 479 Unbox NewArrayObject#402 to Object (fallible) Object 480 GuardShape ← Unbox#479 Object 481 Constant object 104289c3e088 (Array) Object 482 Constant function reduce (self-hosted:205) at 104289c479c0 Object 483 Constant function complex4/< (-e:18) at 104289c63d98 Object 484 Lambda ← FunctionEnvironment#179, Constant#483 Object 485 Constant 0x0 Int32 486 Constant 0x2 Int32 487 Constant function reduce (self-hosted:205) at 104289c479c0 Object 488 GuardSpecificFunction ← Constant#482, Constant#487 Object 489 Call ← GuardSpecificFunction#488, NewArrayObject#402, Lambda#484, Constant#485 Value 491 Goto → block 46 Block 46 492 Constant object 104289c3f040 (LexicalEnvironment) Object 493 Constant object 104289c3e030 (global) Object 494 Constant function complex5 (-e:21) at 104289c6c900 Object 495 Constant undefined Undefined 496 Constant shape at 104289c64fc0 Shape 497 NewPlainObject ← Constant#496 Object 498 GuardShape ← NewPlainObject#497 Object 499 PostWriteBarrier ← GuardShape#498, Call#112 500 StoreFixedSlot ← GuardShape#498, Call#112 (slot 0) 501 GuardShape ← NewPlainObject#497 Object 502 PostWriteBarrier ← GuardShape#501, BitOr#137 503 StoreFixedSlot ← GuardShape#501, BitOr#137 (slot 1) 504 GuardShape ← NewPlainObject#497 Object 505 PostWriteBarrier ← GuardShape#504, Call#147 506 StoreFixedSlot ← GuardShape#504, Call#147 (slot 2) 507 Constant 0x1 Int32 508 Constant function complex5 (-e:21) at 104289c6c900 Object 509 GuardSpecificFunction ← Constant#494, Constant#508 Object 510 Goto → block 47 Block 47 511 Constant undefined Undefined 512 FunctionEnvironment ← GuardSpecificFunction#509 Object 513 Constant object 104289c3f078 (Call) Object 514 NewCallObject ← Constant#513 Object 515 AssertCanElidePostWriteBarrier ← NewCallObject#514, FunctionEnvironment#512 516 AssertCanElidePostWriteBarrier ← NewCallObject#514, GuardSpecificFunction#509 517 StoreFixedSlot ← NewCallObject#514, FunctionEnvironment#512 (slot 0) 518 StoreFixedSlot ← NewCallObject#514, GuardSpecificFunction#509 (slot 1) 519 PostWriteBarrier ← NewCallObject#514, NewPlainObject#497 520 StoreFixedSlot ← NewCallObject#514, NewPlainObject#497 (slot 2) 521 Constant object 104289c3f040 (LexicalEnvironment) Object 522 Constant object 104289c3e030 (global) Object 523 Constant function Object at 104289c422e0 Object 524 Constant function Object at 104289c422e0 Object 525 GuardObjectIdentity ← Constant#523, Constant#524 Object 526 Constant function keys at 104289c42468 Object 527 LoadFixedSlot ← NewCallObject#514 (slot 2) Value 528 Constant 0x1 Int32 529 Constant function keys at 104289c42468 Object 530 GuardSpecificFunction ← Constant#526, Constant#529 Object 531 Unbox LoadFixedSlot#527 to Object (fallible) Object 532 GuardIsNotProxy ← Unbox#531 Object 533 ObjectKeys ← GuardIsNotProxy#532 Object 534 GuardShape ← ObjectKeys#533 Object 535 Constant object 104289c3e088 (Array) Object 536 Constant function map (self-hosted:163) at 104289c47920 Object 537 Constant function complex5/< (-e:22) at 104289c63e08 Object 538 Lambda ← NewCallObject#514, Constant#537 Object 539 Constant 0x1 Int32 540 Constant function map (self-hosted:163) at 104289c47920 Object 541 GuardSpecificFunction ← Constant#536, Constant#540 Object 542 Goto → block 48 Block 48 543 Constant undefined Undefined 544 Constant function ToObject at 104289c6c740 Object 545 DebugCheckSelfHosted ← Constant#544 Value 546 Constant undefined Undefined 547 Constant 0x1 Int32 548 Constant function ToLength at 104289c6c778 Object 549 DebugCheckSelfHosted ← Constant#548 Value 550 Constant undefined Undefined 551 GuardShape ← ObjectKeys#533 Object 552 Elements ← GuardShape#551 Elements 553 ArrayLength ← Elements#552 Int32 554 Constant 0x1 Int32 555 Constant 0x0 Int32 556 MinMax ← ArrayLength#553, Constant#555 (max) Int32 557 Constant 0x1 Int32 558 Constant 0x0 Int32 559 Compare ← Constant#557, Constant#558 StrictEq Bool 560 Test ← Compare#559 → block 49, block 50 1 0 Block 49 561 CallGetIntrinsicValue Value 562 DebugCheckSelfHosted ← CallGetIntrinsicValue#561 Value 563 Constant undefined Undefined 564 Constant 0x37 Int32 565 Constant 0x0 Int32 566 Constant string 104289c2e080 String 567 Bail 712 Unreachable Block 50 570 Constant function IsCallable at 104289c6c7b0 Object 571 DebugCheckSelfHosted ← Constant#570 Value 572 Constant undefined Undefined 573 Constant 0x1 Int32 574 IsCallable ← Lambda#538 Bool 575 Test ← IsCallable#574 → block 52, block 51 1 0 Block 51 576 CallGetIntrinsicValue Value 577 DebugCheckSelfHosted ← CallGetIntrinsicValue#576 Value 578 Constant undefined Undefined 579 Constant 0xc Int32 580 CallGetIntrinsicValue Value 581 DebugCheckSelfHosted ← CallGetIntrinsicValue#580 Value 582 Constant undefined Undefined 583 Constant 0x0 Int32 584 Bail 711 Unreachable Block 52 589 Constant 0x1 Int32 590 Constant 0x1 Int32 591 Compare ← Constant#589, Constant#590 Gt Bool 592 Test ← Compare#591 → block 53, block 54 1 0 Block 53 593 Constant 0x1 Int32 594 GetInlinedArgument ← Constant#593, Lambda#538 Value 595 Goto → block 55 Block 54 596 Constant undefined Undefined 597 Goto → block 55 Block 55 598 Phi ← Constant#596, GetInlinedArgument#594 Value 599 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 600 DebugCheckSelfHosted ← Constant#599 Value 601 Constant undefined Undefined 602 Constant 0x1 Int32 603 HasShape ← ObjectKeys#533 Bool 604 Test ← HasShape#603 → block 56, block 57 1 0 Block 56 605 Constant function std_Array at 104289c6c820 Object 606 DebugCheckSelfHosted ← Constant#605 Value 607 Constant undefined Undefined 608 Constant 0x1 Int32 609 Unbox DebugCheckSelfHosted#606 to Object (fallible) Object 610 Constant function std_Array at 104289c6c820 Object 611 GuardSpecificFunction ← Unbox#609, Constant#610 Object 612 NewArrayDynamicLength ← MinMax#556 Object 613 Goto → block 58 Block 57 614 CallGetIntrinsicValue Value 615 DebugCheckSelfHosted ← CallGetIntrinsicValue#614 Value 616 Constant undefined Undefined 617 Bail 710 Unreachable Block 58 621 Constant 0x0 Int32 633 Goto → block 59 Block 59 (loop header) 630 Phi ← Constant#621, Add#679 Value 723 Constant magic optimized-out MagicOptimizedOut 634 InterruptCheck 635 Unbox Phi#630 to Int32 (fallible) Int32 636 Unbox MinMax#556 to Int32 (fallible) Int32 637 Compare ← Unbox#635, Unbox#636 Lt Bool 638 Test ← Compare#637 → block 60, block 66 1 0 Block 60 728 Constant magic optimized-out MagicOptimizedOut 639 Unbox ObjectKeys#533 to Object (fallible) Object 640 Unbox Phi#630 to Int32 (fallible) Int32 641 GuardShape ← Unbox#639 Object 642 Elements ← GuardShape#641 Elements 643 InitializedLength ← Elements#642 Int32 644 BoundsCheck ← Unbox#640, InitializedLength#643 Int32 645 SpectreMaskIndex ← BoundsCheck#644, InitializedLength#643 Int32 646 GuardElementNotHole ← Elements#642, SpectreMaskIndex#645 647 Constant true Bool 648 Test ← Constant#647 → block 62, block 61 1 0 Block 61 (split edge) 725 Constant magic optimized-out MagicOptimizedOut 722 Goto → block 65 Block 62 727 Constant magic optimized-out MagicOptimizedOut 649 Unbox ObjectKeys#533 to Object (fallible) Object 650 Unbox Phi#630 to Int32 (fallible) Int32 651 GuardShape ← Unbox#649 Object 652 Elements ← GuardShape#651 Elements 653 InitializedLength ← Elements#652 Int32 654 BoundsCheck ← Unbox#650, InitializedLength#653 Int32 655 SpectreMaskIndex ← BoundsCheck#654, InitializedLength#653 Int32 656 GuardElementsArePacked ← Elements#652 657 LoadElement ← Elements#652, SpectreMaskIndex#655 Value 658 Constant 0x3 Int32 659 Unbox Lambda#538 to Object (fallible) Object 660 GuardToFunction ← Unbox#659 Object 661 GuardFunctionScript ← GuardToFunction#660 Object 662 Goto → block 63 Block 63 663 Constant undefined Undefined 664 FunctionEnvironment ← GuardFunctionScript#661 Object 665 LoadFixedSlot ← FunctionEnvironment#664 (slot 2) Value 666 Unbox LoadFixedSlot#665 to Object (fallible) Object 667 MegamorphicLoadSlotByValue ← Unbox#666, LoadElement#657 Value 669 Goto → block 64 Block 64 726 Constant magic optimized-out MagicOptimizedOut 670 Unbox NewArrayDynamicLength#612 to Object (fallible) Object 671 Unbox Phi#630 to Int32 (fallible) Int32 672 GuardShape ← Unbox#670 Object 673 Elements ← GuardShape#672 Elements 674 StoreElementHole ← GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667 675 Goto → block 65 Block 65 (backedge) 724 Constant magic optimized-out MagicOptimizedOut 677 Unbox Phi#630 to Int32 (fallible) Int32 678 Constant 0x1 Int32 679 Add ← Unbox#677, Constant#678 [int32] Int32 680 Goto → block 59 Block 66 683 Unbox NewArrayDynamicLength#612 to Object (fallible) Object 684 GuardShape ← Unbox#683 Object 685 Constant object 104289c3e088 (Array) Object 686 Constant function reduce (self-hosted:205) at 104289c479c0 Object 687 Constant function complex5/< (-e:22) at 104289c63e40 Object 688 Lambda ← NewCallObject#514, Constant#687 Object 689 Constant 0x0 Int32 690 Constant 0x2 Int32 691 Constant function reduce (self-hosted:205) at 104289c479c0 Object 692 GuardSpecificFunction ← Constant#686, Constant#691 Object 693 Call ← GuardSpecificFunction#692, NewArrayDynamicLength#612, Lambda#688, Constant#689 Value 695 Goto → block 67 Block 67 (backedge) 696 Unbox Phi#95 to Int32 (fallible) Int32 697 Constant 0x1 Int32 698 Add ← Unbox#696, Constant#697 [int32] Int32 699 Goto → block 1 Block 68 700 Unbox Phi#88 to Double (fallible) Double 701 Unbox Phi#89 to Double (fallible) Double 702 Add ← Unbox#700, Unbox#701 [double] Double 703 Unbox Phi#90 to Double (fallible) Double 704 Add ← Add#702, Unbox#703 [double] Double 705 Unbox Phi#92 to Double (fallible) Double 706 Add ← Add#704, Unbox#705 [double] Double 707 Unbox Phi#94 to Double (fallible) Double 708 Add ← Add#706, Unbox#707 [double] Double 709 Return ← Add#708
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant magic uninitialized-lexical MagicUninitializedLexical 6 Constant object 104289c3f040 (LexicalEnvironment) Object 7 Constant object 104289c3e030 (global) Object 8 Constant function complex1 (-e:2) at 104289c6c8c8 Object 9 Constant undefined Undefined 10 Constant 0x1 Int32 11 Constant function complex1 (-e:2) at 104289c6c8c8 Object 12 GuardSpecificFunction ← Constant#8, Constant#11 Object 13 Call ← GuardSpecificFunction#12, Constant#9, Parameter#1 Value 14 Constant object 104289c3f040 (LexicalEnvironment) Object 15 Constant object 104289c3e030 (global) Object 16 Constant function complex2 (-e:7) at 104289c6c970 Object 17 Constant undefined Undefined 18 Constant 0x1 Int32 19 Constant function complex2 (-e:7) at 104289c6c970 Object 20 GuardSpecificFunction ← Constant#16, Constant#19 Object 21 Call ← GuardSpecificFunction#20, Constant#17, Parameter#1 Value 22 Constant object 104289c3f040 (LexicalEnvironment) Object 23 Constant object 104289c3e030 (global) Object 24 Constant function complex3 (-e:11) at 104289c6c938 Object 25 Constant undefined Undefined 26 Constant 0x2 Int32 27 Constant function complex3 (-e:11) at 104289c6c938 Object 28 GuardSpecificFunction ← Constant#24, Constant#27 Object 29 Call ← GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13 Value 30 Constant shape at 104289c64f00 Shape 31 NewArrayObject ← Constant#30 Object 32 Constant 0x0 Int32 33 Elements ← NewArrayObject#31 Elements 34 PostWriteBarrier ← NewArrayObject#31, Call#13 35 StoreElement ← Elements#33, Constant#32, Call#13 36 SetInitializedLength ← Elements#33, Constant#32 37 Constant 0x1 Int32 38 Elements ← NewArrayObject#31 Elements 39 PostWriteBarrier ← NewArrayObject#31, Call#21 40 StoreElement ← Elements#38, Constant#37, Call#21 41 SetInitializedLength ← Elements#38, Constant#37 42 Constant 0x2 Int32 43 Elements ← NewArrayObject#31 Elements 44 PostWriteBarrier ← NewArrayObject#31, Call#29 45 StoreElement ← Elements#43, Constant#42, Call#29 46 SetInitializedLength ← Elements#43, Constant#42 47 Constant 0x3 Int32 48 Elements ← NewArrayObject#31 Elements 49 PostWriteBarrier ← NewArrayObject#31, Parameter#1 50 StoreElement ← Elements#48, Constant#47, Parameter#1 51 SetInitializedLength ← Elements#48, Constant#47 52 Constant object 104289c3f040 (LexicalEnvironment) Object 53 Constant object 104289c3e030 (global) Object 54 Constant function complex4 (-e:17) at 104289c6c890 Object 55 Constant undefined Undefined 56 Constant 0x1 Int32 57 Constant function complex4 (-e:17) at 104289c6c890 Object 58 GuardSpecificFunction ← Constant#54, Constant#57 Object 59 Call ← GuardSpecificFunction#58, Constant#55, NewArrayObject#31 Value 60 Constant shape at 104289c64fa0 Shape 61 NewPlainObject ← Constant#60 Object 62 GuardShape ← NewPlainObject#61 Object 63 PostWriteBarrier ← GuardShape#62, Call#13 64 StoreFixedSlot ← GuardShape#62, Call#13 (slot 0) 65 GuardShape ← NewPlainObject#61 Object 66 PostWriteBarrier ← GuardShape#65, Call#21 67 StoreFixedSlot ← GuardShape#65, Call#21 (slot 1) 68 GuardShape ← NewPlainObject#61 Object 69 PostWriteBarrier ← GuardShape#68, Call#29 70 StoreFixedSlot ← GuardShape#68, Call#29 (slot 2) 71 GuardShape ← NewPlainObject#61 Object 72 PostWriteBarrier ← GuardShape#71, Call#59 73 StoreFixedSlot ← GuardShape#71, Call#59 (slot 3) 74 Constant object 104289c3f040 (LexicalEnvironment) Object 75 Constant object 104289c3e030 (global) Object 76 Constant function complex5 (-e:21) at 104289c6c900 Object 77 Constant undefined Undefined 78 Constant 0x1 Int32 79 Constant function complex5 (-e:21) at 104289c6c900 Object 80 GuardSpecificFunction ← Constant#76, Constant#79 Object 81 Call ← GuardSpecificFunction#80, Constant#77, NewPlainObject#61 Value 82 Constant magic uninitialized-lexical MagicUninitializedLexical 83 Constant 0x0 Int32 96 Goto → block 1 Block 1 (loop header) 88 Phi ← Call#13, Call#112 Value 89 Phi ← Call#21, Box#740 Value 90 Phi ← Call#29, Call#147 Value 92 Phi ← Call#59, Call#489 Value 94 Phi ← Call#81, Call#693 Value 95 Phi ← Constant#83, Add#698 Int32 97 InterruptCheck 98 Constant 0xa Int32 741 Box ← Phi#95 Value 99 Unbox Box#741 to Int32 (fallible) Int32 100 Compare ← Unbox#99, Constant#98 Lt Bool 101 Test ← Compare#100 → block 2, block 68 1 0 Block 2 102 Constant object 104289c3f040 (LexicalEnvironment) Object 103 Constant object 104289c3e030 (global) Object 104 Constant function complex1 (-e:2) at 104289c6c8c8 Object 105 Constant undefined Undefined 106 Unbox Phi#88 to Double (fallible) Double 742 Box ← Phi#95 Value 107 Unbox Box#742 to Double (fallible) Double 108 Add ← Unbox#106, Unbox#107 [double] Double 109 Constant 0x1 Int32 110 Constant function complex1 (-e:2) at 104289c6c8c8 Object 111 GuardSpecificFunction ← Constant#104, Constant#110 Object 112 Call ← GuardSpecificFunction#111, Constant#105, Add#108 Value 113 Constant object 104289c3f040 (LexicalEnvironment) Object 114 Constant object 104289c3e030 (global) Object 115 Constant function complex2 (-e:7) at 104289c6c970 Object 116 Constant undefined Undefined 117 Unbox Phi#89 to Int32 (fallible) Int32 743 Box ← Phi#95 Value 118 Unbox Box#743 to Int32 (fallible) Int32 119 Add ← Unbox#117, Unbox#118 [int32] Int32 120 Constant 0x1 Int32 121 Constant function complex2 (-e:7) at 104289c6c970 Object 122 GuardSpecificFunction ← Constant#115, Constant#121 Object 123 Goto → block 3 Block 3 124 Constant undefined Undefined 125 Constant 0x1 Int32 126 Lsh ← Add#119, Constant#125 Int32 127 Constant 0x1 Int32 128 Rsh ← Add#119, Constant#127 Int32 129 Constant 0xff Int32 130 BitAnd ← Add#119, Constant#129 Int32 131 Constant 0x2 Int32 132 Ursh ← Add#119, Constant#131 Int32 133 Add ← BitAnd#130, Ursh#132 [int32] Int32 134 BitNot ← Add#119 Int32 135 Sub ← Add#133, BitNot#134 [int32] Int32 136 BitXor ← Rsh#128, Sub#135 Int32 137 BitOr ← Lsh#126, BitXor#136 Int32 139 Goto → block 4 Block 4 140 Constant object 104289c3f040 (LexicalEnvironment) Object 141 Constant object 104289c3e030 (global) Object 142 Constant function complex3 (-e:11) at 104289c6c938 Object 143 Constant undefined Undefined 144 Constant 0x2 Int32 145 Constant function complex3 (-e:11) at 104289c6c938 Object 146 GuardSpecificFunction ← Constant#142, Constant#145 Object 147 Call ← GuardSpecificFunction#146, Constant#143, Phi#90, Call#112 Value 148 Constant object 104289c3f040 (LexicalEnvironment) Object 149 Constant object 104289c3e030 (global) Object 150 Constant function complex4 (-e:17) at 104289c6c890 Object 151 Constant undefined Undefined 152 Constant shape at 104289c64f00 Shape 153 NewArrayObject ← Constant#152 Object 154 Constant 0x0 Int32 155 Elements ← NewArrayObject#153 Elements 156 PostWriteBarrier ← NewArrayObject#153, Call#112 157 StoreElement ← Elements#155, Constant#154, Call#112 158 SetInitializedLength ← Elements#155, Constant#154 159 Constant 0x1 Int32 160 Elements ← NewArrayObject#153 Elements 161 PostWriteBarrier ← NewArrayObject#153, BitOr#137 162 StoreElement ← Elements#160, Constant#159, BitOr#137 163 SetInitializedLength ← Elements#160, Constant#159 164 Constant 0x2 Int32 165 Elements ← NewArrayObject#153 Elements 166 PostWriteBarrier ← NewArrayObject#153, Call#147 167 StoreElement ← Elements#165, Constant#164, Call#147 168 SetInitializedLength ← Elements#165, Constant#164 169 Constant 0x3 Int32 170 Elements ← NewArrayObject#153 Elements 171 PostWriteBarrier ← NewArrayObject#153, Phi#95 172 StoreElement ← Elements#170, Constant#169, Phi#95 173 SetInitializedLength ← Elements#170, Constant#169 174 Constant 0x1 Int32 175 Constant function complex4 (-e:17) at 104289c6c890 Object 176 GuardSpecificFunction ← Constant#150, Constant#175 Object 177 Goto → block 5 Block 5 178 Constant undefined Undefined 179 FunctionEnvironment ← GuardSpecificFunction#176 Object 180 GuardShape ← NewArrayObject#153 Object 181 Constant object 104289c3e088 (Array) Object 182 Constant function map (self-hosted:163) at 104289c47920 Object 183 Constant function complex4/< (-e:18) at 104289c63d28 Object 184 Lambda ← FunctionEnvironment#179, Constant#183 Object 185 Constant 0x1 Int32 186 Constant function map (self-hosted:163) at 104289c47920 Object 187 GuardSpecificFunction ← Constant#182, Constant#186 Object 188 Goto → block 6 Block 6 189 Constant undefined Undefined 190 Constant function ToObject at 104289c6c740 Object 744 Box ← Constant#190 Value 191 DebugCheckSelfHosted ← Box#744 Value 192 Constant undefined Undefined 193 Constant 0x1 Int32 194 Constant function ToLength at 104289c6c778 Object 745 Box ← Constant#194 Value 195 DebugCheckSelfHosted ← Box#745 Value 196 Constant undefined Undefined 197 GuardShape ← NewArrayObject#153 Object 198 Elements ← GuardShape#197 Elements 199 ArrayLength ← Elements#198 Int32 200 Constant 0x1 Int32 201 Constant 0x0 Int32 202 MinMax ← ArrayLength#199, Constant#201 (max) Int32 203 Constant 0x1 Int32 204 Constant 0x0 Int32 205 Compare ← Constant#203, Constant#204 StrictEq Bool 206 Test ← Compare#205 → block 7, block 8 1 0 Block 7 207 CallGetIntrinsicValue Value 208 DebugCheckSelfHosted ← CallGetIntrinsicValue#207 Value 209 Constant undefined Undefined 210 Constant 0x37 Int32 211 Constant 0x0 Int32 212 Constant string 104289c2e080 String 213 Bail 718 Unreachable Block 8 216 Constant function IsCallable at 104289c6c7b0 Object 746 Box ← Constant#216 Value 217 DebugCheckSelfHosted ← Box#746 Value 218 Constant undefined Undefined 219 Constant 0x1 Int32 220 IsCallable ← Lambda#184 Bool 221 Test ← IsCallable#220 → block 10, block 9 1 0 Block 9 222 CallGetIntrinsicValue Value 223 DebugCheckSelfHosted ← CallGetIntrinsicValue#222 Value 224 Constant undefined Undefined 225 Constant 0xc Int32 226 CallGetIntrinsicValue Value 227 DebugCheckSelfHosted ← CallGetIntrinsicValue#226 Value 228 Constant undefined Undefined 229 Constant 0x0 Int32 230 Bail 717 Unreachable Block 10 235 Constant 0x1 Int32 236 Constant 0x1 Int32 237 Compare ← Constant#235, Constant#236 Gt Bool 238 Test ← Compare#237 → block 11, block 12 1 0 Block 11 239 Constant 0x1 Int32 240 GetInlinedArgument ← Constant#239, Lambda#184 Value 241 Goto → block 13 Block 12 242 Constant undefined Undefined 747 Box ← Constant#242 Value 243 Goto → block 13 Block 13 244 Phi ← Box#747, GetInlinedArgument#240 Value 245 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 748 Box ← Constant#245 Value 246 DebugCheckSelfHosted ← Box#748 Value 247 Constant undefined Undefined 248 Constant 0x1 Int32 249 HasShape ← NewArrayObject#153 Bool 250 Test ← HasShape#249 → block 14, block 15 1 0 Block 14 251 Constant function std_Array at 104289c6c820 Object 749 Box ← Constant#251 Value 252 DebugCheckSelfHosted ← Box#749 Value 253 Constant undefined Undefined 254 Constant 0x1 Int32 255 Unbox DebugCheckSelfHosted#252 to Object (fallible) Object 256 Constant function std_Array at 104289c6c820 Object 257 GuardSpecificFunction ← Unbox#255, Constant#256 Object 258 NewArrayDynamicLength ← MinMax#202 Object 259 Goto → block 16 Block 15 260 CallGetIntrinsicValue Value 261 DebugCheckSelfHosted ← CallGetIntrinsicValue#260 Value 262 Constant undefined Undefined 263 Bail 716 Unreachable Block 16 267 Constant 0x0 Int32 279 Goto → block 17 Block 17 (loop header) 276 Phi ← Constant#267, Add#324 Int32 734 Constant magic optimized-out MagicOptimizedOut 280 InterruptCheck 750 Box ← Phi#276 Value 281 Unbox Box#750 to Int32 (fallible) Int32 751 Box ← MinMax#202 Value 282 Unbox Box#751 to Int32 (fallible) Int32 283 Compare ← Unbox#281, Unbox#282 Lt Bool 284 Test ← Compare#283 → block 18, block 24 1 0 Block 18 739 Constant magic optimized-out MagicOptimizedOut 752 Box ← NewArrayObject#153 Value 285 Unbox Box#752 to Object (fallible) Object 753 Box ← Phi#276 Value 286 Unbox Box#753 to Int32 (fallible) Int32 287 GuardShape ← Unbox#285 Object 288 Elements ← GuardShape#287 Elements 289 InitializedLength ← Elements#288 Int32 290 BoundsCheck ← Unbox#286, InitializedLength#289 Int32 291 SpectreMaskIndex ← BoundsCheck#290, InitializedLength#289 Int32 292 GuardElementNotHole ← Elements#288, SpectreMaskIndex#291 293 Constant true Bool 294 Test ← Constant#293 → block 20, block 19 1 0 Block 19 (split edge) 736 Constant magic optimized-out MagicOptimizedOut 719 Goto → block 23 Block 20 738 Constant magic optimized-out MagicOptimizedOut 754 Box ← NewArrayObject#153 Value 295 Unbox Box#754 to Object (fallible) Object 755 Box ← Phi#276 Value 296 Unbox Box#755 to Int32 (fallible) Int32 297 GuardShape ← Unbox#295 Object 298 Elements ← GuardShape#297 Elements 299 InitializedLength ← Elements#298 Int32 300 BoundsCheck ← Unbox#296, InitializedLength#299 Int32 301 SpectreMaskIndex ← BoundsCheck#300, InitializedLength#299 Int32 302 GuardElementsArePacked ← Elements#298 303 LoadElement ← Elements#298, SpectreMaskIndex#301 Value 304 Constant 0x3 Int32 756 Box ← Lambda#184 Value 305 Unbox Box#756 to Object (fallible) Object 306 GuardToFunction ← Unbox#305 Object 307 GuardFunctionScript ← GuardToFunction#306 Object 308 Goto → block 21 Block 21 309 Constant undefined Undefined 310 Constant 0x2 Int32 311 Unbox LoadElement#303 to Double (fallible) Double 757 ToDouble ← Constant#310 Double 312 Mul ← Unbox#311, ToDouble#757 [double] Double 314 Goto → block 22 Block 22 737 Constant magic optimized-out MagicOptimizedOut 758 Box ← NewArrayDynamicLength#258 Value 315 Unbox Box#758 to Object (fallible) Object 759 Box ← Phi#276 Value 316 Unbox Box#759 to Int32 (fallible) Int32 317 GuardShape ← Unbox#315 Object 318 Elements ← GuardShape#317 Elements 319 StoreElementHole ← GuardShape#317, Elements#318, Unbox#316, Mul#312 320 Goto → block 23 Block 23 (backedge) 735 Constant magic optimized-out MagicOptimizedOut 760 Box ← Phi#276 Value 322 Unbox Box#760 to Int32 (fallible) Int32 323 Constant 0x1 Int32 324 Add ← Unbox#322, Constant#323 [int32] Int32 325 Goto → block 17 Block 24 761 Box ← NewArrayDynamicLength#258 Value 328 Unbox Box#761 to Object (fallible) Object 329 GuardShape ← Unbox#328 Object 330 Constant object 104289c3e088 (Array) Object 331 Constant function filter (self-hosted:183) at 104289c47970 Object 332 Constant function complex4/< (-e:18) at 104289c63d60 Object 333 Lambda ← FunctionEnvironment#179, Constant#332 Object 334 Constant 0x1 Int32 335 Constant function filter (self-hosted:183) at 104289c47970 Object 336 GuardSpecificFunction ← Constant#331, Constant#335 Object 337 Goto → block 25 Block 25 338 Constant undefined Undefined 339 Constant function ToObject at 104289c6c740 Object 762 Box ← Constant#339 Value 340 DebugCheckSelfHosted ← Box#762 Value 341 Constant undefined Undefined 342 Constant 0x1 Int32 763 Box ← NewArrayDynamicLength#258 Value 343 Unbox Box#763 to Object (fallible) Object 344 Constant function ToLength at 104289c6c778 Object 764 Box ← Constant#344 Value 345 DebugCheckSelfHosted ← Box#764 Value 346 Constant undefined Undefined 347 GuardShape ← Unbox#343 Object 348 Elements ← GuardShape#347 Elements 349 ArrayLength ← Elements#348 Int32 350 Constant 0x1 Int32 351 Constant 0x0 Int32 352 MinMax ← ArrayLength#349, Constant#351 (max) Int32 353 Constant 0x1 Int32 354 Constant 0x0 Int32 355 Compare ← Constant#353, Constant#354 StrictEq Bool 356 Test ← Compare#355 → block 26, block 27 1 0 Block 26 357 CallGetIntrinsicValue Value 358 DebugCheckSelfHosted ← CallGetIntrinsicValue#357 Value 359 Constant undefined Undefined 360 Constant 0x37 Int32 361 Constant 0x0 Int32 362 Constant string 104289c28540 String 363 Bail 715 Unreachable Block 27 366 Constant function IsCallable at 104289c6c7b0 Object 765 Box ← Constant#366 Value 367 DebugCheckSelfHosted ← Box#765 Value 368 Constant undefined Undefined 369 Constant 0x1 Int32 370 IsCallable ← Lambda#333 Bool 371 Test ← IsCallable#370 → block 29, block 28 1 0 Block 28 372 CallGetIntrinsicValue Value 373 DebugCheckSelfHosted ← CallGetIntrinsicValue#372 Value 374 Constant undefined Undefined 375 Constant 0xc Int32 376 CallGetIntrinsicValue Value 377 DebugCheckSelfHosted ← CallGetIntrinsicValue#376 Value 378 Constant undefined Undefined 379 Constant 0x0 Int32 380 Bail 714 Unreachable Block 29 385 Constant 0x1 Int32 386 Constant 0x1 Int32 387 Compare ← Constant#385, Constant#386 Gt Bool 388 Test ← Compare#387 → block 30, block 31 1 0 Block 30 389 Constant 0x1 Int32 390 GetInlinedArgument ← Constant#389, Lambda#333 Value 391 Goto → block 32 Block 31 392 Constant undefined Undefined 766 Box ← Constant#392 Value 393 Goto → block 32 Block 32 394 Phi ← Box#766, GetInlinedArgument#390 Value 395 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 767 Box ← Constant#395 Value 396 DebugCheckSelfHosted ← Box#767 Value 397 Constant undefined Undefined 398 Constant 0x1 Int32 399 HasShape ← Unbox#343 Bool 400 Test ← HasShape#399 → block 33, block 34 1 0 Block 33 401 Constant shape at 104289c64f00 Shape 402 NewArrayObject ← Constant#401 Object 403 Goto → block 35 Block 34 404 CallGetIntrinsicValue Value 405 DebugCheckSelfHosted ← CallGetIntrinsicValue#404 Value 406 Constant undefined Undefined 407 Constant 0x0 Int32 408 Bail 713 Unreachable Block 35 412 Constant 0x0 Int32 413 Constant 0x0 Int32 426 Goto → block 36 Block 36 (loop header) 422 Phi ← Constant#412, Add#475 Int32 423 Phi ← Constant#413, Phi#471 Int32 729 Constant magic optimized-out MagicOptimizedOut 427 InterruptCheck 768 Box ← Phi#422 Value 428 Unbox Box#768 to Int32 (fallible) Int32 769 Box ← MinMax#352 Value 429 Unbox Box#769 to Int32 (fallible) Int32 430 Compare ← Unbox#428, Unbox#429 Lt Bool 431 Test ← Compare#430 → block 37, block 45 1 0 Block 37 733 Constant magic optimized-out MagicOptimizedOut 770 Box ← Unbox#343 Value 432 Unbox Box#770 to Object (fallible) Object 771 Box ← Phi#422 Value 433 Unbox Box#771 to Int32 (fallible) Int32 434 GuardShape ← Unbox#432 Object 435 Elements ← GuardShape#434 Elements 436 InitializedLength ← Elements#435 Int32 437 BoundsCheck ← Unbox#433, InitializedLength#436 Int32 438 SpectreMaskIndex ← BoundsCheck#437, InitializedLength#436 Int32 439 GuardElementNotHole ← Elements#435, SpectreMaskIndex#438 440 Constant true Bool 441 Test ← Constant#440 → block 39, block 38 1 0 Block 38 (split edge) 731 Constant magic optimized-out MagicOptimizedOut 720 Goto → block 44 Block 39 732 Constant magic optimized-out MagicOptimizedOut 772 Box ← Unbox#343 Value 442 Unbox Box#772 to Object (fallible) Object 773 Box ← Phi#422 Value 443 Unbox Box#773 to Int32 (fallible) Int32 444 GuardShape ← Unbox#442 Object 445 Elements ← GuardShape#444 Elements 446 InitializedLength ← Elements#445 Int32 447 BoundsCheck ← Unbox#443, InitializedLength#446 Int32 448 SpectreMaskIndex ← BoundsCheck#447, InitializedLength#446 Int32 449 GuardElementsArePacked ← Elements#445 450 LoadElement ← Elements#445, SpectreMaskIndex#448 Value 451 Constant 0x3 Int32 774 Box ← Lambda#333 Value 452 Unbox Box#774 to Object (fallible) Object 453 GuardToFunction ← Unbox#452 Object 454 GuardFunctionScript ← GuardToFunction#453 Object 455 Goto → block 40 Block 40 456 Constant undefined Undefined 457 Constant 0x32 Int32 458 Unbox LoadElement#450 to Double (fallible) Double 775 ToDouble ← Constant#457 Double 459 Compare ← Unbox#458, ToDouble#775 Gt Bool 461 Goto → block 41 Block 41 462 Test ← Compare#459 → block 43, block 42 1 0 Block 42 (split edge) 721 Goto → block 44 Block 43 776 Box ← Phi#423 Value 463 Unbox Box#776 to Int32 (fallible) Int32 464 Constant 0x1 Int32 465 Add ← Unbox#463, Constant#464 [int32] Int32 777 Box ← NewArrayObject#402 Value 466 Unbox Box#777 to Object (fallible) Object 467 GuardShape ← Unbox#466 Object 468 Elements ← GuardShape#467 Elements 469 StoreElementHole ← GuardShape#467, Elements#468, Unbox#463, LoadElement#450 470 Goto → block 44 Block 44 (backedge) 471 Phi ← Add#465, Phi#423, Phi#423 Int32 730 Constant magic optimized-out MagicOptimizedOut 778 Box ← Phi#422 Value 473 Unbox Box#778 to Int32 (fallible) Int32 474 Constant 0x1 Int32 475 Add ← Unbox#473, Constant#474 [int32] Int32 476 Goto → block 36 Block 45 779 Box ← NewArrayObject#402 Value 479 Unbox Box#779 to Object (fallible) Object 480 GuardShape ← Unbox#479 Object 481 Constant object 104289c3e088 (Array) Object 482 Constant function reduce (self-hosted:205) at 104289c479c0 Object 483 Constant function complex4/< (-e:18) at 104289c63d98 Object 484 Lambda ← FunctionEnvironment#179, Constant#483 Object 485 Constant 0x0 Int32 486 Constant 0x2 Int32 487 Constant function reduce (self-hosted:205) at 104289c479c0 Object 488 GuardSpecificFunction ← Constant#482, Constant#487 Object 489 Call ← GuardSpecificFunction#488, NewArrayObject#402, Lambda#484, Constant#485 Value 491 Goto → block 46 Block 46 492 Constant object 104289c3f040 (LexicalEnvironment) Object 493 Constant object 104289c3e030 (global) Object 494 Constant function complex5 (-e:21) at 104289c6c900 Object 495 Constant undefined Undefined 496 Constant shape at 104289c64fc0 Shape 497 NewPlainObject ← Constant#496 Object 498 GuardShape ← NewPlainObject#497 Object 499 PostWriteBarrier ← GuardShape#498, Call#112 500 StoreFixedSlot ← GuardShape#498, Call#112 (slot 0) 501 GuardShape ← NewPlainObject#497 Object 502 PostWriteBarrier ← GuardShape#501, BitOr#137 503 StoreFixedSlot ← GuardShape#501, BitOr#137 (slot 1) 504 GuardShape ← NewPlainObject#497 Object 505 PostWriteBarrier ← GuardShape#504, Call#147 506 StoreFixedSlot ← GuardShape#504, Call#147 (slot 2) 507 Constant 0x1 Int32 508 Constant function complex5 (-e:21) at 104289c6c900 Object 509 GuardSpecificFunction ← Constant#494, Constant#508 Object 510 Goto → block 47 Block 47 511 Constant undefined Undefined 512 FunctionEnvironment ← GuardSpecificFunction#509 Object 513 Constant object 104289c3f078 (Call) Object 514 NewCallObject ← Constant#513 Object 780 Box ← FunctionEnvironment#512 Value 515 AssertCanElidePostWriteBarrier ← NewCallObject#514, Box#780 781 Box ← GuardSpecificFunction#509 Value 516 AssertCanElidePostWriteBarrier ← NewCallObject#514, Box#781 517 StoreFixedSlot ← NewCallObject#514, FunctionEnvironment#512 (slot 0) 518 StoreFixedSlot ← NewCallObject#514, GuardSpecificFunction#509 (slot 1) 519 PostWriteBarrier ← NewCallObject#514, NewPlainObject#497 520 StoreFixedSlot ← NewCallObject#514, NewPlainObject#497 (slot 2) 521 Constant object 104289c3f040 (LexicalEnvironment) Object 522 Constant object 104289c3e030 (global) Object 523 Constant function Object at 104289c422e0 Object 524 Constant function Object at 104289c422e0 Object 525 GuardObjectIdentity ← Constant#523, Constant#524 Object 526 Constant function keys at 104289c42468 Object 527 LoadFixedSlot ← NewCallObject#514 (slot 2) Value 528 Constant 0x1 Int32 529 Constant function keys at 104289c42468 Object 530 GuardSpecificFunction ← Constant#526, Constant#529 Object 531 Unbox LoadFixedSlot#527 to Object (fallible) Object 532 GuardIsNotProxy ← Unbox#531 Object 533 ObjectKeys ← GuardIsNotProxy#532 Object 534 GuardShape ← ObjectKeys#533 Object 535 Constant object 104289c3e088 (Array) Object 536 Constant function map (self-hosted:163) at 104289c47920 Object 537 Constant function complex5/< (-e:22) at 104289c63e08 Object 538 Lambda ← NewCallObject#514, Constant#537 Object 539 Constant 0x1 Int32 540 Constant function map (self-hosted:163) at 104289c47920 Object 541 GuardSpecificFunction ← Constant#536, Constant#540 Object 542 Goto → block 48 Block 48 543 Constant undefined Undefined 544 Constant function ToObject at 104289c6c740 Object 782 Box ← Constant#544 Value 545 DebugCheckSelfHosted ← Box#782 Value 546 Constant undefined Undefined 547 Constant 0x1 Int32 548 Constant function ToLength at 104289c6c778 Object 783 Box ← Constant#548 Value 549 DebugCheckSelfHosted ← Box#783 Value 550 Constant undefined Undefined 551 GuardShape ← ObjectKeys#533 Object 552 Elements ← GuardShape#551 Elements 553 ArrayLength ← Elements#552 Int32 554 Constant 0x1 Int32 555 Constant 0x0 Int32 556 MinMax ← ArrayLength#553, Constant#555 (max) Int32 557 Constant 0x1 Int32 558 Constant 0x0 Int32 559 Compare ← Constant#557, Constant#558 StrictEq Bool 560 Test ← Compare#559 → block 49, block 50 1 0 Block 49 561 CallGetIntrinsicValue Value 562 DebugCheckSelfHosted ← CallGetIntrinsicValue#561 Value 563 Constant undefined Undefined 564 Constant 0x37 Int32 565 Constant 0x0 Int32 566 Constant string 104289c2e080 String 567 Bail 712 Unreachable Block 50 570 Constant function IsCallable at 104289c6c7b0 Object 784 Box ← Constant#570 Value 571 DebugCheckSelfHosted ← Box#784 Value 572 Constant undefined Undefined 573 Constant 0x1 Int32 574 IsCallable ← Lambda#538 Bool 575 Test ← IsCallable#574 → block 52, block 51 1 0 Block 51 576 CallGetIntrinsicValue Value 577 DebugCheckSelfHosted ← CallGetIntrinsicValue#576 Value 578 Constant undefined Undefined 579 Constant 0xc Int32 580 CallGetIntrinsicValue Value 581 DebugCheckSelfHosted ← CallGetIntrinsicValue#580 Value 582 Constant undefined Undefined 583 Constant 0x0 Int32 584 Bail 711 Unreachable Block 52 589 Constant 0x1 Int32 590 Constant 0x1 Int32 591 Compare ← Constant#589, Constant#590 Gt Bool 592 Test ← Compare#591 → block 53, block 54 1 0 Block 53 593 Constant 0x1 Int32 594 GetInlinedArgument ← Constant#593, Lambda#538 Value 595 Goto → block 55 Block 54 596 Constant undefined Undefined 785 Box ← Constant#596 Value 597 Goto → block 55 Block 55 598 Phi ← Box#785, GetInlinedArgument#594 Value 599 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 786 Box ← Constant#599 Value 600 DebugCheckSelfHosted ← Box#786 Value 601 Constant undefined Undefined 602 Constant 0x1 Int32 603 HasShape ← ObjectKeys#533 Bool 604 Test ← HasShape#603 → block 56, block 57 1 0 Block 56 605 Constant function std_Array at 104289c6c820 Object 787 Box ← Constant#605 Value 606 DebugCheckSelfHosted ← Box#787 Value 607 Constant undefined Undefined 608 Constant 0x1 Int32 609 Unbox DebugCheckSelfHosted#606 to Object (fallible) Object 610 Constant function std_Array at 104289c6c820 Object 611 GuardSpecificFunction ← Unbox#609, Constant#610 Object 612 NewArrayDynamicLength ← MinMax#556 Object 613 Goto → block 58 Block 57 614 CallGetIntrinsicValue Value 615 DebugCheckSelfHosted ← CallGetIntrinsicValue#614 Value 616 Constant undefined Undefined 617 Bail 710 Unreachable Block 58 621 Constant 0x0 Int32 633 Goto → block 59 Block 59 (loop header) 630 Phi ← Constant#621, Add#679 Int32 723 Constant magic optimized-out MagicOptimizedOut 634 InterruptCheck 788 Box ← Phi#630 Value 635 Unbox Box#788 to Int32 (fallible) Int32 789 Box ← MinMax#556 Value 636 Unbox Box#789 to Int32 (fallible) Int32 637 Compare ← Unbox#635, Unbox#636 Lt Bool 638 Test ← Compare#637 → block 60, block 66 1 0 Block 60 728 Constant magic optimized-out MagicOptimizedOut 790 Box ← ObjectKeys#533 Value 639 Unbox Box#790 to Object (fallible) Object 791 Box ← Phi#630 Value 640 Unbox Box#791 to Int32 (fallible) Int32 641 GuardShape ← Unbox#639 Object 642 Elements ← GuardShape#641 Elements 643 InitializedLength ← Elements#642 Int32 644 BoundsCheck ← Unbox#640, InitializedLength#643 Int32 645 SpectreMaskIndex ← BoundsCheck#644, InitializedLength#643 Int32 646 GuardElementNotHole ← Elements#642, SpectreMaskIndex#645 647 Constant true Bool 648 Test ← Constant#647 → block 62, block 61 1 0 Block 61 (split edge) 725 Constant magic optimized-out MagicOptimizedOut 722 Goto → block 65 Block 62 727 Constant magic optimized-out MagicOptimizedOut 792 Box ← ObjectKeys#533 Value 649 Unbox Box#792 to Object (fallible) Object 793 Box ← Phi#630 Value 650 Unbox Box#793 to Int32 (fallible) Int32 651 GuardShape ← Unbox#649 Object 652 Elements ← GuardShape#651 Elements 653 InitializedLength ← Elements#652 Int32 654 BoundsCheck ← Unbox#650, InitializedLength#653 Int32 655 SpectreMaskIndex ← BoundsCheck#654, InitializedLength#653 Int32 656 GuardElementsArePacked ← Elements#652 657 LoadElement ← Elements#652, SpectreMaskIndex#655 Value 658 Constant 0x3 Int32 794 Box ← Lambda#538 Value 659 Unbox Box#794 to Object (fallible) Object 660 GuardToFunction ← Unbox#659 Object 661 GuardFunctionScript ← GuardToFunction#660 Object 662 Goto → block 63 Block 63 663 Constant undefined Undefined 664 FunctionEnvironment ← GuardFunctionScript#661 Object 665 LoadFixedSlot ← FunctionEnvironment#664 (slot 2) Value 666 Unbox LoadFixedSlot#665 to Object (fallible) Object 667 MegamorphicLoadSlotByValue ← Unbox#666, LoadElement#657 Value 669 Goto → block 64 Block 64 726 Constant magic optimized-out MagicOptimizedOut 795 Box ← NewArrayDynamicLength#612 Value 670 Unbox Box#795 to Object (fallible) Object 796 Box ← Phi#630 Value 671 Unbox Box#796 to Int32 (fallible) Int32 672 GuardShape ← Unbox#670 Object 673 Elements ← GuardShape#672 Elements 674 StoreElementHole ← GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667 675 Goto → block 65 Block 65 (backedge) 724 Constant magic optimized-out MagicOptimizedOut 797 Box ← Phi#630 Value 677 Unbox Box#797 to Int32 (fallible) Int32 678 Constant 0x1 Int32 679 Add ← Unbox#677, Constant#678 [int32] Int32 680 Goto → block 59 Block 66 798 Box ← NewArrayDynamicLength#612 Value 683 Unbox Box#798 to Object (fallible) Object 684 GuardShape ← Unbox#683 Object 685 Constant object 104289c3e088 (Array) Object 686 Constant function reduce (self-hosted:205) at 104289c479c0 Object 687 Constant function complex5/< (-e:22) at 104289c63e40 Object 688 Lambda ← NewCallObject#514, Constant#687 Object 689 Constant 0x0 Int32 690 Constant 0x2 Int32 691 Constant function reduce (self-hosted:205) at 104289c479c0 Object 692 GuardSpecificFunction ← Constant#686, Constant#691 Object 693 Call ← GuardSpecificFunction#692, NewArrayDynamicLength#612, Lambda#688, Constant#689 Value 695 Goto → block 67 Block 67 (backedge) 799 Box ← Phi#95 Value 696 Unbox Box#799 to Int32 (fallible) Int32 697 Constant 0x1 Int32 698 Add ← Unbox#696, Constant#697 [int32] Int32 740 Box ← BitOr#137 Value 699 Goto → block 1 Block 68 700 Unbox Phi#88 to Double (fallible) Double 701 Unbox Phi#89 to Double (fallible) Double 702 Add ← Unbox#700, Unbox#701 [double] Double 703 Unbox Phi#90 to Double (fallible) Double 704 Add ← Add#702, Unbox#703 [double] Double 705 Unbox Phi#92 to Double (fallible) Double 706 Add ← Add#704, Unbox#705 [double] Double 707 Unbox Phi#94 to Double (fallible) Double 708 Add ← Add#706, Unbox#707 [double] Double 800 Box ← Add#708 Value 709 Return ← Box#800
Block 0 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant magic uninitialized-lexical MagicUninitializedLexical 6 Constant object 104289c3f040 (LexicalEnvironment) Object 7 Constant object 104289c3e030 (global) Object 8 Constant function complex1 (-e:2) at 104289c6c8c8 Object 9 Constant undefined Undefined 10 Constant 0x1 Int32 11 Constant function complex1 (-e:2) at 104289c6c8c8 Object 12 GuardSpecificFunction ← Constant#8, Constant#11 Object 13 Call ← GuardSpecificFunction#12, Constant#9, Parameter#1 Value 14 Constant object 104289c3f040 (LexicalEnvironment) Object 15 Constant object 104289c3e030 (global) Object 16 Constant function complex2 (-e:7) at 104289c6c970 Object 17 Constant undefined Undefined 18 Constant 0x1 Int32 19 Constant function complex2 (-e:7) at 104289c6c970 Object 20 GuardSpecificFunction ← Constant#16, Constant#19 Object 21 Call ← GuardSpecificFunction#20, Constant#17, Parameter#1 Value 22 Constant object 104289c3f040 (LexicalEnvironment) Object 23 Constant object 104289c3e030 (global) Object 24 Constant function complex3 (-e:11) at 104289c6c938 Object 25 Constant undefined Undefined 26 Constant 0x2 Int32 27 Constant function complex3 (-e:11) at 104289c6c938 Object 28 GuardSpecificFunction ← Constant#24, Constant#27 Object 29 Call ← GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13 Value 30 Constant shape at 104289c64f00 Shape 31 NewArrayObject ← Constant#30 Object 32 Constant 0x0 Int32 33 Elements ← NewArrayObject#31 Elements 34 PostWriteBarrier ← NewArrayObject#31, Call#13 35 StoreElement ← Elements#33, Constant#32, Call#13 36 SetInitializedLength ← Elements#33, Constant#32 37 Constant 0x1 Int32 38 Elements ← NewArrayObject#31 Elements 39 PostWriteBarrier ← NewArrayObject#31, Call#21 40 StoreElement ← Elements#38, Constant#37, Call#21 41 SetInitializedLength ← Elements#38, Constant#37 42 Constant 0x2 Int32 43 Elements ← NewArrayObject#31 Elements 44 PostWriteBarrier ← NewArrayObject#31, Call#29 45 StoreElement ← Elements#43, Constant#42, Call#29 46 SetInitializedLength ← Elements#43, Constant#42 47 Constant 0x3 Int32 48 Elements ← NewArrayObject#31 Elements 49 PostWriteBarrier ← NewArrayObject#31, Parameter#1 50 StoreElement ← Elements#48, Constant#47, Parameter#1 51 SetInitializedLength ← Elements#48, Constant#47 52 Constant object 104289c3f040 (LexicalEnvironment) Object 53 Constant object 104289c3e030 (global) Object 54 Constant function complex4 (-e:17) at 104289c6c890 Object 55 Constant undefined Undefined 56 Constant 0x1 Int32 57 Constant function complex4 (-e:17) at 104289c6c890 Object 58 GuardSpecificFunction ← Constant#54, Constant#57 Object 59 Call ← GuardSpecificFunction#58, Constant#55, NewArrayObject#31 Value 60 Constant shape at 104289c64fa0 Shape 61 NewPlainObject ← Constant#60 Object 62 GuardShape ← NewPlainObject#61 Object 63 PostWriteBarrier ← GuardShape#62, Call#13 64 StoreFixedSlot ← GuardShape#62, Call#13 (slot 0) 65 GuardShape ← NewPlainObject#61 Object 66 PostWriteBarrier ← GuardShape#65, Call#21 67 StoreFixedSlot ← GuardShape#65, Call#21 (slot 1) 68 GuardShape ← NewPlainObject#61 Object 69 PostWriteBarrier ← GuardShape#68, Call#29 70 StoreFixedSlot ← GuardShape#68, Call#29 (slot 2) 71 GuardShape ← NewPlainObject#61 Object 72 PostWriteBarrier ← GuardShape#71, Call#59 73 StoreFixedSlot ← GuardShape#71, Call#59 (slot 3) 74 Constant object 104289c3f040 (LexicalEnvironment) Object 75 Constant object 104289c3e030 (global) Object 76 Constant function complex5 (-e:21) at 104289c6c900 Object 77 Constant undefined Undefined 78 Constant 0x1 Int32 79 Constant function complex5 (-e:21) at 104289c6c900 Object 80 GuardSpecificFunction ← Constant#76, Constant#79 Object 81 Call ← GuardSpecificFunction#80, Constant#77, NewPlainObject#61 Value 82 Constant magic uninitialized-lexical MagicUninitializedLexical 83 Constant 0x0 Int32 84 Goto → block 1 Block 1 (loop header) 85 Phi ← Call#13, Call#108 Value 86 Phi ← Call#21, Box#710 Value 87 Phi ← Call#29, Call#143 Value 88 Phi ← Call#59, Call#495 Value 89 Phi ← Call#81, Call#704 Value 90 Phi ← Constant#83, Add#709 Int32 91 InterruptCheck 92 Constant 0xa Int32 93 Box ← Phi#90 Value 94 Unbox Box#93 to Int32 (fallible) Int32 95 Compare ← Unbox#94, Constant#92 Lt Bool 96 Test ← Compare#95 → block 2, block 68 1 0 Block 2 97 Constant object 104289c3f040 (LexicalEnvironment) Object 98 Constant object 104289c3e030 (global) Object 99 Constant function complex1 (-e:2) at 104289c6c8c8 Object 100 Constant undefined Undefined 101 Unbox Phi#85 to Double (fallible) Double 102 Box ← Phi#90 Value 103 Unbox Box#102 to Double (fallible) Double 104 Add ← Unbox#101, Unbox#103 [double] Double 105 Constant 0x1 Int32 106 Constant function complex1 (-e:2) at 104289c6c8c8 Object 107 GuardSpecificFunction ← Constant#99, Constant#106 Object 108 Call ← GuardSpecificFunction#107, Constant#100, Add#104 Value 109 Constant object 104289c3f040 (LexicalEnvironment) Object 110 Constant object 104289c3e030 (global) Object 111 Constant function complex2 (-e:7) at 104289c6c970 Object 112 Constant undefined Undefined 113 Unbox Phi#86 to Int32 (fallible) Int32 114 Box ← Phi#90 Value 115 Unbox Box#114 to Int32 (fallible) Int32 116 Add ← Unbox#113, Unbox#115 [int32] Int32 117 Constant 0x1 Int32 118 Constant function complex2 (-e:7) at 104289c6c970 Object 119 GuardSpecificFunction ← Constant#111, Constant#118 Object 120 Goto → block 3 Block 3 121 Constant undefined Undefined 122 Constant 0x1 Int32 123 Lsh ← Add#116, Constant#122 Int32 124 Constant 0x1 Int32 125 Rsh ← Add#116, Constant#124 Int32 126 Constant 0xff Int32 127 BitAnd ← Add#116, Constant#126 Int32 128 Constant 0x2 Int32 129 Ursh ← Add#116, Constant#128 Int32 130 Add ← BitAnd#127, Ursh#129 [int32] Int32 131 BitNot ← Add#116 Int32 132 Sub ← Add#130, BitNot#131 [int32] Int32 133 BitXor ← Rsh#125, Sub#132 Int32 134 BitOr ← Lsh#123, BitXor#133 Int32 135 Goto → block 4 Block 4 136 Constant object 104289c3f040 (LexicalEnvironment) Object 137 Constant object 104289c3e030 (global) Object 138 Constant function complex3 (-e:11) at 104289c6c938 Object 139 Constant undefined Undefined 140 Constant 0x2 Int32 141 Constant function complex3 (-e:11) at 104289c6c938 Object 142 GuardSpecificFunction ← Constant#138, Constant#141 Object 143 Call ← GuardSpecificFunction#142, Constant#139, Phi#87, Call#108 Value 144 Constant object 104289c3f040 (LexicalEnvironment) Object 145 Constant object 104289c3e030 (global) Object 146 Constant function complex4 (-e:17) at 104289c6c890 Object 147 Constant undefined Undefined 148 Constant shape at 104289c64f00 Shape 149 NewArrayObject ← Constant#148 Object 150 Constant 0x0 Int32 151 Elements ← NewArrayObject#149 Elements 152 PostWriteBarrier ← NewArrayObject#149, Call#108 153 StoreElement ← Elements#151, Constant#150, Call#108 154 SetInitializedLength ← Elements#151, Constant#150 155 Constant 0x1 Int32 156 Elements ← NewArrayObject#149 Elements 157 PostWriteBarrier ← NewArrayObject#149, BitOr#134 158 StoreElement ← Elements#156, Constant#155, BitOr#134 159 SetInitializedLength ← Elements#156, Constant#155 160 Constant 0x2 Int32 161 Elements ← NewArrayObject#149 Elements 162 PostWriteBarrier ← NewArrayObject#149, Call#143 163 StoreElement ← Elements#161, Constant#160, Call#143 164 SetInitializedLength ← Elements#161, Constant#160 165 Constant 0x3 Int32 166 Elements ← NewArrayObject#149 Elements 167 PostWriteBarrier ← NewArrayObject#149, Phi#90 168 StoreElement ← Elements#166, Constant#165, Phi#90 169 SetInitializedLength ← Elements#166, Constant#165 170 Constant 0x1 Int32 171 Constant function complex4 (-e:17) at 104289c6c890 Object 172 GuardSpecificFunction ← Constant#146, Constant#171 Object 173 Goto → block 5 Block 5 174 Constant undefined Undefined 175 FunctionEnvironment ← GuardSpecificFunction#172 Object 176 GuardShape ← NewArrayObject#149 Object 177 Constant object 104289c3e088 (Array) Object 178 Constant function map (self-hosted:163) at 104289c47920 Object 179 Constant function complex4/< (-e:18) at 104289c63d28 Object 180 Lambda ← FunctionEnvironment#175, Constant#179 Object 181 Constant 0x1 Int32 182 Constant function map (self-hosted:163) at 104289c47920 Object 183 GuardSpecificFunction ← Constant#178, Constant#182 Object 184 Goto → block 6 Block 6 185 Constant undefined Undefined 186 Constant function ToObject at 104289c6c740 Object 187 Box ← Constant#186 Value 188 DebugCheckSelfHosted ← Box#187 Value 189 Constant undefined Undefined 190 Constant 0x1 Int32 191 Constant function ToLength at 104289c6c778 Object 192 Box ← Constant#191 Value 193 DebugCheckSelfHosted ← Box#192 Value 194 Constant undefined Undefined 195 GuardShape ← NewArrayObject#149 Object 196 Elements ← GuardShape#195 Elements 197 ArrayLength ← Elements#196 Int32 198 Constant 0x1 Int32 199 Constant 0x0 Int32 200 MinMax ← ArrayLength#197, Constant#199 (max) Int32 201 Constant 0x1 Int32 202 Constant 0x0 Int32 203 Compare ← Constant#201, Constant#202 StrictEq Bool 204 Test ← Compare#203 → block 7, block 8 1 0 Block 7 205 CallGetIntrinsicValue Value 206 DebugCheckSelfHosted ← CallGetIntrinsicValue#205 Value 207 Constant undefined Undefined 208 Constant 0x37 Int32 209 Constant 0x0 Int32 210 Constant string 104289c2e080 String 211 Bail 212 Unreachable Block 8 213 Constant function IsCallable at 104289c6c7b0 Object 214 Box ← Constant#213 Value 215 DebugCheckSelfHosted ← Box#214 Value 216 Constant undefined Undefined 217 Constant 0x1 Int32 218 IsCallable ← Lambda#180 Bool 219 Test ← IsCallable#218 → block 10, block 9 1 0 Block 9 220 CallGetIntrinsicValue Value 221 DebugCheckSelfHosted ← CallGetIntrinsicValue#220 Value 222 Constant undefined Undefined 223 Constant 0xc Int32 224 CallGetIntrinsicValue Value 225 DebugCheckSelfHosted ← CallGetIntrinsicValue#224 Value 226 Constant undefined Undefined 227 Constant 0x0 Int32 228 Bail 229 Unreachable Block 10 230 Constant 0x1 Int32 231 Constant 0x1 Int32 232 Compare ← Constant#230, Constant#231 Gt Bool 233 Test ← Compare#232 → block 11, block 12 1 0 Block 11 234 Constant 0x1 Int32 235 GetInlinedArgument ← Constant#234, Lambda#180 Value 236 Goto → block 13 Block 12 237 Constant undefined Undefined 238 Box ← Constant#237 Value 239 Goto → block 13 Block 13 240 Phi ← Box#238, GetInlinedArgument#235 Value 241 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 242 Box ← Constant#241 Value 243 DebugCheckSelfHosted ← Box#242 Value 244 Constant undefined Undefined 245 Constant 0x1 Int32 246 HasShape ← NewArrayObject#149 Bool 247 Test ← HasShape#246 → block 14, block 15 1 0 Block 14 248 Constant function std_Array at 104289c6c820 Object 249 Box ← Constant#248 Value 250 DebugCheckSelfHosted ← Box#249 Value 251 Constant undefined Undefined 252 Constant 0x1 Int32 253 Unbox DebugCheckSelfHosted#250 to Object (fallible) Object 254 Constant function std_Array at 104289c6c820 Object 255 GuardSpecificFunction ← Unbox#253, Constant#254 Object 256 NewArrayDynamicLength ← MinMax#200 Object 257 Goto → block 16 Block 15 258 CallGetIntrinsicValue Value 259 DebugCheckSelfHosted ← CallGetIntrinsicValue#258 Value 260 Constant undefined Undefined 261 Bail 262 Unreachable Block 16 263 Constant 0x0 Int32 264 Goto → block 17 Block 17 (loop header) 265 Phi ← Constant#263, Add#326 Int32 266 Constant magic optimized-out MagicOptimizedOut 267 InterruptCheck 268 Box ← Phi#265 Value 269 Unbox Box#268 to Int32 (fallible) Int32 270 Box ← MinMax#200 Value 271 Unbox Box#270 to Int32 (fallible) Int32 272 Compare ← Unbox#269, Unbox#271 Lt Bool 273 Test ← Compare#272 → block 18, block 24 1 0 Block 18 274 Constant magic optimized-out MagicOptimizedOut 275 Box ← NewArrayObject#149 Value 276 Unbox Box#275 to Object (fallible) Object 277 Box ← Phi#265 Value 278 Unbox Box#277 to Int32 (fallible) Int32 279 GuardShape ← Unbox#276 Object 280 Elements ← GuardShape#279 Elements 281 InitializedLength ← Elements#280 Int32 282 BoundsCheck ← Unbox#278, InitializedLength#281 Int32 283 SpectreMaskIndex ← BoundsCheck#282, InitializedLength#281 Int32 284 GuardElementNotHole ← Elements#280, SpectreMaskIndex#283 285 Constant true Bool 286 Test ← Constant#285 → block 20, block 19 1 0 Block 19 (split edge) 287 Constant magic optimized-out MagicOptimizedOut 288 Goto → block 23 Block 20 289 Constant magic optimized-out MagicOptimizedOut 290 Box ← NewArrayObject#149 Value 291 Unbox Box#290 to Object (fallible) Object 292 Box ← Phi#265 Value 293 Unbox Box#292 to Int32 (fallible) Int32 294 GuardShape ← Unbox#291 Object 295 Elements ← GuardShape#294 Elements 296 InitializedLength ← Elements#295 Int32 297 BoundsCheck ← Unbox#293, InitializedLength#296 Int32 298 SpectreMaskIndex ← BoundsCheck#297, InitializedLength#296 Int32 299 GuardElementsArePacked ← Elements#295 300 LoadElement ← Elements#295, SpectreMaskIndex#298 Value 301 Constant 0x3 Int32 302 Box ← Lambda#180 Value 303 Unbox Box#302 to Object (fallible) Object 304 GuardToFunction ← Unbox#303 Object 305 GuardFunctionScript ← GuardToFunction#304 Object 306 Goto → block 21 Block 21 307 Constant undefined Undefined 308 Constant 0x2 Int32 309 Unbox LoadElement#300 to Double (fallible) Double 310 ToDouble ← Constant#308 Double 311 Mul ← Unbox#309, ToDouble#310 [double] Double 312 Goto → block 22 Block 22 313 Constant magic optimized-out MagicOptimizedOut 314 Box ← NewArrayDynamicLength#256 Value 315 Unbox Box#314 to Object (fallible) Object 316 Box ← Phi#265 Value 317 Unbox Box#316 to Int32 (fallible) Int32 318 GuardShape ← Unbox#315 Object 319 Elements ← GuardShape#318 Elements 320 StoreElementHole ← GuardShape#318, Elements#319, Unbox#317, Mul#311 321 Goto → block 23 Block 23 (backedge) 322 Constant magic optimized-out MagicOptimizedOut 323 Box ← Phi#265 Value 324 Unbox Box#323 to Int32 (fallible) Int32 325 Constant 0x1 Int32 326 Add ← Unbox#324, Constant#325 [int32] Int32 327 Goto → block 17 Block 24 328 Box ← NewArrayDynamicLength#256 Value 329 Unbox Box#328 to Object (fallible) Object 330 GuardShape ← Unbox#329 Object 331 Constant object 104289c3e088 (Array) Object 332 Constant function filter (self-hosted:183) at 104289c47970 Object 333 Constant function complex4/< (-e:18) at 104289c63d60 Object 334 Lambda ← FunctionEnvironment#175, Constant#333 Object 335 Constant 0x1 Int32 336 Constant function filter (self-hosted:183) at 104289c47970 Object 337 GuardSpecificFunction ← Constant#332, Constant#336 Object 338 Goto → block 25 Block 25 339 Constant undefined Undefined 340 Constant function ToObject at 104289c6c740 Object 341 Box ← Constant#340 Value 342 DebugCheckSelfHosted ← Box#341 Value 343 Constant undefined Undefined 344 Constant 0x1 Int32 345 Box ← NewArrayDynamicLength#256 Value 346 Unbox Box#345 to Object (fallible) Object 347 Constant function ToLength at 104289c6c778 Object 348 Box ← Constant#347 Value 349 DebugCheckSelfHosted ← Box#348 Value 350 Constant undefined Undefined 351 GuardShape ← Unbox#346 Object 352 Elements ← GuardShape#351 Elements 353 ArrayLength ← Elements#352 Int32 354 Constant 0x1 Int32 355 Constant 0x0 Int32 356 MinMax ← ArrayLength#353, Constant#355 (max) Int32 357 Constant 0x1 Int32 358 Constant 0x0 Int32 359 Compare ← Constant#357, Constant#358 StrictEq Bool 360 Test ← Compare#359 → block 26, block 27 1 0 Block 26 361 CallGetIntrinsicValue Value 362 DebugCheckSelfHosted ← CallGetIntrinsicValue#361 Value 363 Constant undefined Undefined 364 Constant 0x37 Int32 365 Constant 0x0 Int32 366 Constant string 104289c28540 String 367 Bail 368 Unreachable Block 27 369 Constant function IsCallable at 104289c6c7b0 Object 370 Box ← Constant#369 Value 371 DebugCheckSelfHosted ← Box#370 Value 372 Constant undefined Undefined 373 Constant 0x1 Int32 374 IsCallable ← Lambda#334 Bool 375 Test ← IsCallable#374 → block 29, block 28 1 0 Block 28 376 CallGetIntrinsicValue Value 377 DebugCheckSelfHosted ← CallGetIntrinsicValue#376 Value 378 Constant undefined Undefined 379 Constant 0xc Int32 380 CallGetIntrinsicValue Value 381 DebugCheckSelfHosted ← CallGetIntrinsicValue#380 Value 382 Constant undefined Undefined 383 Constant 0x0 Int32 384 Bail 385 Unreachable Block 29 386 Constant 0x1 Int32 387 Constant 0x1 Int32 388 Compare ← Constant#386, Constant#387 Gt Bool 389 Test ← Compare#388 → block 30, block 31 1 0 Block 30 390 Constant 0x1 Int32 391 GetInlinedArgument ← Constant#390, Lambda#334 Value 392 Goto → block 32 Block 31 393 Constant undefined Undefined 394 Box ← Constant#393 Value 395 Goto → block 32 Block 32 396 Phi ← Box#394, GetInlinedArgument#391 Value 397 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 398 Box ← Constant#397 Value 399 DebugCheckSelfHosted ← Box#398 Value 400 Constant undefined Undefined 401 Constant 0x1 Int32 402 HasShape ← Unbox#346 Bool 403 Test ← HasShape#402 → block 33, block 34 1 0 Block 33 404 Constant shape at 104289c64f00 Shape 405 NewArrayObject ← Constant#404 Object 406 Goto → block 35 Block 34 407 CallGetIntrinsicValue Value 408 DebugCheckSelfHosted ← CallGetIntrinsicValue#407 Value 409 Constant undefined Undefined 410 Constant 0x0 Int32 411 Bail 412 Unreachable Block 35 413 Constant 0x0 Int32 414 Constant 0x0 Int32 415 Goto → block 36 Block 36 (loop header) 416 Phi ← Constant#413, Add#482 Int32 417 Phi ← Constant#414, Phi#477 Int32 418 Constant magic optimized-out MagicOptimizedOut 419 InterruptCheck 420 Box ← Phi#416 Value 421 Unbox Box#420 to Int32 (fallible) Int32 422 Box ← MinMax#356 Value 423 Unbox Box#422 to Int32 (fallible) Int32 424 Compare ← Unbox#421, Unbox#423 Lt Bool 425 Test ← Compare#424 → block 37, block 45 1 0 Block 37 426 Constant magic optimized-out MagicOptimizedOut 427 Box ← Unbox#346 Value 428 Unbox Box#427 to Object (fallible) Object 429 Box ← Phi#416 Value 430 Unbox Box#429 to Int32 (fallible) Int32 431 GuardShape ← Unbox#428 Object 432 Elements ← GuardShape#431 Elements 433 InitializedLength ← Elements#432 Int32 434 BoundsCheck ← Unbox#430, InitializedLength#433 Int32 435 SpectreMaskIndex ← BoundsCheck#434, InitializedLength#433 Int32 436 GuardElementNotHole ← Elements#432, SpectreMaskIndex#435 437 Constant true Bool 438 Test ← Constant#437 → block 39, block 38 1 0 Block 38 (split edge) 439 Constant magic optimized-out MagicOptimizedOut 440 Goto → block 44 Block 39 441 Constant magic optimized-out MagicOptimizedOut 442 Box ← Unbox#346 Value 443 Unbox Box#442 to Object (fallible) Object 444 Box ← Phi#416 Value 445 Unbox Box#444 to Int32 (fallible) Int32 446 GuardShape ← Unbox#443 Object 447 Elements ← GuardShape#446 Elements 448 InitializedLength ← Elements#447 Int32 449 BoundsCheck ← Unbox#445, InitializedLength#448 Int32 450 SpectreMaskIndex ← BoundsCheck#449, InitializedLength#448 Int32 451 GuardElementsArePacked ← Elements#447 452 LoadElement ← Elements#447, SpectreMaskIndex#450 Value 453 Constant 0x3 Int32 454 Box ← Lambda#334 Value 455 Unbox Box#454 to Object (fallible) Object 456 GuardToFunction ← Unbox#455 Object 457 GuardFunctionScript ← GuardToFunction#456 Object 458 Goto → block 40 Block 40 459 Constant undefined Undefined 460 Constant 0x32 Int32 461 Unbox LoadElement#452 to Double (fallible) Double 462 ToDouble ← Constant#460 Double 463 Compare ← Unbox#461, ToDouble#462 Gt Bool 464 Goto → block 41 Block 41 465 Test ← Compare#463 → block 43, block 42 1 0 Block 42 (split edge) 466 Goto → block 44 Block 43 467 Box ← Phi#417 Value 468 Unbox Box#467 to Int32 (fallible) Int32 469 Constant 0x1 Int32 470 Add ← Unbox#468, Constant#469 [int32] Int32 471 Box ← NewArrayObject#405 Value 472 Unbox Box#471 to Object (fallible) Object 473 GuardShape ← Unbox#472 Object 474 Elements ← GuardShape#473 Elements 475 StoreElementHole ← GuardShape#473, Elements#474, Unbox#468, LoadElement#452 476 Goto → block 44 Block 44 (backedge) 477 Phi ← Add#470, Phi#417, Phi#417 Int32 478 Constant magic optimized-out MagicOptimizedOut 479 Box ← Phi#416 Value 480 Unbox Box#479 to Int32 (fallible) Int32 481 Constant 0x1 Int32 482 Add ← Unbox#480, Constant#481 [int32] Int32 483 Goto → block 36 Block 45 484 Box ← NewArrayObject#405 Value 485 Unbox Box#484 to Object (fallible) Object 486 GuardShape ← Unbox#485 Object 487 Constant object 104289c3e088 (Array) Object 488 Constant function reduce (self-hosted:205) at 104289c479c0 Object 489 Constant function complex4/< (-e:18) at 104289c63d98 Object 490 Lambda ← FunctionEnvironment#175, Constant#489 Object 491 Constant 0x0 Int32 492 Constant 0x2 Int32 493 Constant function reduce (self-hosted:205) at 104289c479c0 Object 494 GuardSpecificFunction ← Constant#488, Constant#493 Object 495 Call ← GuardSpecificFunction#494, NewArrayObject#405, Lambda#490, Constant#491 Value 496 Goto → block 46 Block 46 497 Constant object 104289c3f040 (LexicalEnvironment) Object 498 Constant object 104289c3e030 (global) Object 499 Constant function complex5 (-e:21) at 104289c6c900 Object 500 Constant undefined Undefined 501 Constant shape at 104289c64fc0 Shape 502 NewPlainObject ← Constant#501 Object 503 GuardShape ← NewPlainObject#502 Object 504 PostWriteBarrier ← GuardShape#503, Call#108 505 StoreFixedSlot ← GuardShape#503, Call#108 (slot 0) 506 GuardShape ← NewPlainObject#502 Object 507 PostWriteBarrier ← GuardShape#506, BitOr#134 508 StoreFixedSlot ← GuardShape#506, BitOr#134 (slot 1) 509 GuardShape ← NewPlainObject#502 Object 510 PostWriteBarrier ← GuardShape#509, Call#143 511 StoreFixedSlot ← GuardShape#509, Call#143 (slot 2) 512 Constant 0x1 Int32 513 Constant function complex5 (-e:21) at 104289c6c900 Object 514 GuardSpecificFunction ← Constant#499, Constant#513 Object 515 Goto → block 47 Block 47 516 Constant undefined Undefined 517 FunctionEnvironment ← GuardSpecificFunction#514 Object 518 Constant object 104289c3f078 (Call) Object 519 NewCallObject ← Constant#518 Object 520 Box ← FunctionEnvironment#517 Value 521 AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#520 522 Box ← GuardSpecificFunction#514 Value 523 AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#522 524 StoreFixedSlot ← NewCallObject#519, FunctionEnvironment#517 (slot 0) 525 StoreFixedSlot ← NewCallObject#519, GuardSpecificFunction#514 (slot 1) 526 PostWriteBarrier ← NewCallObject#519, NewPlainObject#502 527 StoreFixedSlot ← NewCallObject#519, NewPlainObject#502 (slot 2) 528 Constant object 104289c3f040 (LexicalEnvironment) Object 529 Constant object 104289c3e030 (global) Object 530 Constant function Object at 104289c422e0 Object 531 Constant function Object at 104289c422e0 Object 532 GuardObjectIdentity ← Constant#530, Constant#531 Object 533 Constant function keys at 104289c42468 Object 534 LoadFixedSlot ← NewCallObject#519 (slot 2) Value 535 Constant 0x1 Int32 536 Constant function keys at 104289c42468 Object 537 GuardSpecificFunction ← Constant#533, Constant#536 Object 538 Unbox LoadFixedSlot#534 to Object (fallible) Object 539 GuardIsNotProxy ← Unbox#538 Object 540 ObjectKeys ← GuardIsNotProxy#539 Object 541 GuardShape ← ObjectKeys#540 Object 542 Constant object 104289c3e088 (Array) Object 543 Constant function map (self-hosted:163) at 104289c47920 Object 544 Constant function complex5/< (-e:22) at 104289c63e08 Object 545 Lambda ← NewCallObject#519, Constant#544 Object 546 Constant 0x1 Int32 547 Constant function map (self-hosted:163) at 104289c47920 Object 548 GuardSpecificFunction ← Constant#543, Constant#547 Object 549 Goto → block 48 Block 48 550 Constant undefined Undefined 551 Constant function ToObject at 104289c6c740 Object 552 Box ← Constant#551 Value 553 DebugCheckSelfHosted ← Box#552 Value 554 Constant undefined Undefined 555 Constant 0x1 Int32 556 Constant function ToLength at 104289c6c778 Object 557 Box ← Constant#556 Value 558 DebugCheckSelfHosted ← Box#557 Value 559 Constant undefined Undefined 560 GuardShape ← ObjectKeys#540 Object 561 Elements ← GuardShape#560 Elements 562 ArrayLength ← Elements#561 Int32 563 Constant 0x1 Int32 564 Constant 0x0 Int32 565 MinMax ← ArrayLength#562, Constant#564 (max) Int32 566 Constant 0x1 Int32 567 Constant 0x0 Int32 568 Compare ← Constant#566, Constant#567 StrictEq Bool 569 Test ← Compare#568 → block 49, block 50 1 0 Block 49 570 CallGetIntrinsicValue Value 571 DebugCheckSelfHosted ← CallGetIntrinsicValue#570 Value 572 Constant undefined Undefined 573 Constant 0x37 Int32 574 Constant 0x0 Int32 575 Constant string 104289c2e080 String 576 Bail 577 Unreachable Block 50 578 Constant function IsCallable at 104289c6c7b0 Object 579 Box ← Constant#578 Value 580 DebugCheckSelfHosted ← Box#579 Value 581 Constant undefined Undefined 582 Constant 0x1 Int32 583 IsCallable ← Lambda#545 Bool 584 Test ← IsCallable#583 → block 52, block 51 1 0 Block 51 585 CallGetIntrinsicValue Value 586 DebugCheckSelfHosted ← CallGetIntrinsicValue#585 Value 587 Constant undefined Undefined 588 Constant 0xc Int32 589 CallGetIntrinsicValue Value 590 DebugCheckSelfHosted ← CallGetIntrinsicValue#589 Value 591 Constant undefined Undefined 592 Constant 0x0 Int32 593 Bail 594 Unreachable Block 52 595 Constant 0x1 Int32 596 Constant 0x1 Int32 597 Compare ← Constant#595, Constant#596 Gt Bool 598 Test ← Compare#597 → block 53, block 54 1 0 Block 53 599 Constant 0x1 Int32 600 GetInlinedArgument ← Constant#599, Lambda#545 Value 601 Goto → block 55 Block 54 602 Constant undefined Undefined 603 Box ← Constant#602 Value 604 Goto → block 55 Block 55 605 Phi ← Box#603, GetInlinedArgument#600 Value 606 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 607 Box ← Constant#606 Value 608 DebugCheckSelfHosted ← Box#607 Value 609 Constant undefined Undefined 610 Constant 0x1 Int32 611 HasShape ← ObjectKeys#540 Bool 612 Test ← HasShape#611 → block 56, block 57 1 0 Block 56 613 Constant function std_Array at 104289c6c820 Object 614 Box ← Constant#613 Value 615 DebugCheckSelfHosted ← Box#614 Value 616 Constant undefined Undefined 617 Constant 0x1 Int32 618 Unbox DebugCheckSelfHosted#615 to Object (fallible) Object 619 Constant function std_Array at 104289c6c820 Object 620 GuardSpecificFunction ← Unbox#618, Constant#619 Object 621 NewArrayDynamicLength ← MinMax#565 Object 622 Goto → block 58 Block 57 623 CallGetIntrinsicValue Value 624 DebugCheckSelfHosted ← CallGetIntrinsicValue#623 Value 625 Constant undefined Undefined 626 Bail 627 Unreachable Block 58 628 Constant 0x0 Int32 629 Goto → block 59 Block 59 (loop header) 630 Phi ← Constant#628, Add#691 Int32 631 Constant magic optimized-out MagicOptimizedOut 632 InterruptCheck 633 Box ← Phi#630 Value 634 Unbox Box#633 to Int32 (fallible) Int32 635 Box ← MinMax#565 Value 636 Unbox Box#635 to Int32 (fallible) Int32 637 Compare ← Unbox#634, Unbox#636 Lt Bool 638 Test ← Compare#637 → block 60, block 66 1 0 Block 60 639 Constant magic optimized-out MagicOptimizedOut 640 Box ← ObjectKeys#540 Value 641 Unbox Box#640 to Object (fallible) Object 642 Box ← Phi#630 Value 643 Unbox Box#642 to Int32 (fallible) Int32 644 GuardShape ← Unbox#641 Object 645 Elements ← GuardShape#644 Elements 646 InitializedLength ← Elements#645 Int32 647 BoundsCheck ← Unbox#643, InitializedLength#646 Int32 648 SpectreMaskIndex ← BoundsCheck#647, InitializedLength#646 Int32 649 GuardElementNotHole ← Elements#645, SpectreMaskIndex#648 650 Constant true Bool 651 Test ← Constant#650 → block 62, block 61 1 0 Block 61 (split edge) 652 Constant magic optimized-out MagicOptimizedOut 653 Goto → block 65 Block 62 654 Constant magic optimized-out MagicOptimizedOut 655 Box ← ObjectKeys#540 Value 656 Unbox Box#655 to Object (fallible) Object 657 Box ← Phi#630 Value 658 Unbox Box#657 to Int32 (fallible) Int32 659 GuardShape ← Unbox#656 Object 660 Elements ← GuardShape#659 Elements 661 InitializedLength ← Elements#660 Int32 662 BoundsCheck ← Unbox#658, InitializedLength#661 Int32 663 SpectreMaskIndex ← BoundsCheck#662, InitializedLength#661 Int32 664 GuardElementsArePacked ← Elements#660 665 LoadElement ← Elements#660, SpectreMaskIndex#663 Value 666 Constant 0x3 Int32 667 Box ← Lambda#545 Value 668 Unbox Box#667 to Object (fallible) Object 669 GuardToFunction ← Unbox#668 Object 670 GuardFunctionScript ← GuardToFunction#669 Object 671 Goto → block 63 Block 63 672 Constant undefined Undefined 673 FunctionEnvironment ← GuardFunctionScript#670 Object 674 LoadFixedSlot ← FunctionEnvironment#673 (slot 2) Value 675 Unbox LoadFixedSlot#674 to Object (fallible) Object 676 MegamorphicLoadSlotByValue ← Unbox#675, LoadElement#665 Value 677 Goto → block 64 Block 64 678 Constant magic optimized-out MagicOptimizedOut 679 Box ← NewArrayDynamicLength#621 Value 680 Unbox Box#679 to Object (fallible) Object 681 Box ← Phi#630 Value 682 Unbox Box#681 to Int32 (fallible) Int32 683 GuardShape ← Unbox#680 Object 684 Elements ← GuardShape#683 Elements 685 StoreElementHole ← GuardShape#683, Elements#684, Unbox#682, MegamorphicLoadSlotByValue#676 686 Goto → block 65 Block 65 (backedge) 687 Constant magic optimized-out MagicOptimizedOut 688 Box ← Phi#630 Value 689 Unbox Box#688 to Int32 (fallible) Int32 690 Constant 0x1 Int32 691 Add ← Unbox#689, Constant#690 [int32] Int32 692 Goto → block 59 Block 66 693 Box ← NewArrayDynamicLength#621 Value 694 Unbox Box#693 to Object (fallible) Object 695 GuardShape ← Unbox#694 Object 696 Constant object 104289c3e088 (Array) Object 697 Constant function reduce (self-hosted:205) at 104289c479c0 Object 698 Constant function complex5/< (-e:22) at 104289c63e40 Object 699 Lambda ← NewCallObject#519, Constant#698 Object 700 Constant 0x0 Int32 701 Constant 0x2 Int32 702 Constant function reduce (self-hosted:205) at 104289c479c0 Object 703 GuardSpecificFunction ← Constant#697, Constant#702 Object 704 Call ← GuardSpecificFunction#703, NewArrayDynamicLength#621, Lambda#699, Constant#700 Value 705 Goto → block 67 Block 67 (backedge) 706 Box ← Phi#90 Value 707 Unbox Box#706 to Int32 (fallible) Int32 708 Constant 0x1 Int32 709 Add ← Unbox#707, Constant#708 [int32] Int32 710 Box ← BitOr#134 Value 711 Goto → block 1 Block 68 712 Unbox Phi#85 to Double (fallible) Double 713 Unbox Phi#86 to Double (fallible) Double 714 Add ← Unbox#712, Unbox#713 [double] Double 715 Unbox Phi#87 to Double (fallible) Double 716 Add ← Add#714, Unbox#715 [double] Double 717 Unbox Phi#88 to Double (fallible) Double 718 Add ← Add#716, Unbox#717 [double] Double 719 Unbox Phi#89 to Double (fallible) Double 720 Add ← Add#718, Unbox#719 [double] Double 721 Box ← Add#720 Value 722 Return ← Box#721
Block 0 805 Constant magic optimized-out MagicOptimizedOut 804 Constant magic optimized-out MagicOptimizedOut 803 Constant magic optimized-out MagicOptimizedOut 802 Constant magic optimized-out MagicOptimizedOut 801 Constant magic optimized-out MagicOptimizedOut 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant magic uninitialized-lexical MagicUninitializedLexical 6 Constant object 104289c3f040 (LexicalEnvironment) Object 7 Constant object 104289c3e030 (global) Object 8 Constant function complex1 (-e:2) at 104289c6c8c8 Object 9 Constant undefined Undefined 10 Constant 0x1 Int32 11 Constant function complex1 (-e:2) at 104289c6c8c8 Object 12 GuardSpecificFunction ← Constant#8, Constant#11 Object 13 Call ← GuardSpecificFunction#12, Constant#9, Parameter#1 Value 14 Constant object 104289c3f040 (LexicalEnvironment) Object 15 Constant object 104289c3e030 (global) Object 16 Constant function complex2 (-e:7) at 104289c6c970 Object 17 Constant undefined Undefined 18 Constant 0x1 Int32 19 Constant function complex2 (-e:7) at 104289c6c970 Object 20 GuardSpecificFunction ← Constant#16, Constant#19 Object 21 Call ← GuardSpecificFunction#20, Constant#17, Parameter#1 Value 22 Constant object 104289c3f040 (LexicalEnvironment) Object 23 Constant object 104289c3e030 (global) Object 24 Constant function complex3 (-e:11) at 104289c6c938 Object 25 Constant undefined Undefined 26 Constant 0x2 Int32 27 Constant function complex3 (-e:11) at 104289c6c938 Object 28 GuardSpecificFunction ← Constant#24, Constant#27 Object 29 Call ← GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13 Value 30 Constant shape at 104289c64f00 Shape 31 NewArrayObject ← Constant#30 Object 32 Constant 0x0 Int32 33 Elements ← NewArrayObject#31 Elements 34 PostWriteBarrier ← NewArrayObject#31, Call#13 35 StoreElement ← Elements#33, Constant#32, Call#13 36 SetInitializedLength ← Elements#33, Constant#32 37 Constant 0x1 Int32 38 Elements ← NewArrayObject#31 Elements 39 PostWriteBarrier ← NewArrayObject#31, Call#21 40 StoreElement ← Elements#38, Constant#37, Call#21 41 SetInitializedLength ← Elements#38, Constant#37 42 Constant 0x2 Int32 43 Elements ← NewArrayObject#31 Elements 44 PostWriteBarrier ← NewArrayObject#31, Call#29 45 StoreElement ← Elements#43, Constant#42, Call#29 46 SetInitializedLength ← Elements#43, Constant#42 47 Constant 0x3 Int32 48 Elements ← NewArrayObject#31 Elements 49 PostWriteBarrier ← NewArrayObject#31, Parameter#1 50 StoreElement ← Elements#48, Constant#47, Parameter#1 51 SetInitializedLength ← Elements#48, Constant#47 52 Constant object 104289c3f040 (LexicalEnvironment) Object 53 Constant object 104289c3e030 (global) Object 54 Constant function complex4 (-e:17) at 104289c6c890 Object 55 Constant undefined Undefined 56 Constant 0x1 Int32 57 Constant function complex4 (-e:17) at 104289c6c890 Object 58 GuardSpecificFunction ← Constant#54, Constant#57 Object 59 Call ← GuardSpecificFunction#58, Constant#55, NewArrayObject#31 Value 60 Constant shape at 104289c64fa0 Shape 61 NewPlainObject ← Constant#60 Object 62 GuardShape ← NewPlainObject#61 Object 63 PostWriteBarrier ← GuardShape#62, Call#13 64 StoreFixedSlot ← GuardShape#62, Call#13 (slot 0) 65 GuardShape ← NewPlainObject#61 Object 66 PostWriteBarrier ← GuardShape#65, Call#21 67 StoreFixedSlot ← GuardShape#65, Call#21 (slot 1) 68 GuardShape ← NewPlainObject#61 Object 69 PostWriteBarrier ← GuardShape#68, Call#29 70 StoreFixedSlot ← GuardShape#68, Call#29 (slot 2) 71 GuardShape ← NewPlainObject#61 Object 72 PostWriteBarrier ← GuardShape#71, Call#59 73 StoreFixedSlot ← GuardShape#71, Call#59 (slot 3) 74 Constant object 104289c3f040 (LexicalEnvironment) Object 75 Constant object 104289c3e030 (global) Object 76 Constant function complex5 (-e:21) at 104289c6c900 Object 77 Constant undefined Undefined 78 Constant 0x1 Int32 79 Constant function complex5 (-e:21) at 104289c6c900 Object 80 GuardSpecificFunction ← Constant#76, Constant#79 Object 81 Call ← GuardSpecificFunction#80, Constant#77, NewPlainObject#61 Value 82 Constant magic uninitialized-lexical MagicUninitializedLexical 83 Constant 0x0 Int32 84 Goto → block 1 Block 1 (loop header) 85 Phi ← Call#13, Call#108 Value 86 Phi ← Call#21, Box#710 Value 87 Phi ← Call#29, Call#143 Value 88 Phi ← Call#59, Call#495 Value 89 Phi ← Call#81, Call#704 Value 90 Phi ← Constant#83, Add#709 Int32 91 InterruptCheck 92 Constant 0xa Int32 93 Box ← Phi#90 Value 94 Unbox Box#93 to Int32 (fallible) Int32 95 Compare ← Unbox#94, Constant#92 Lt Bool 96 Test ← Compare#95 → block 2, block 68 1 0 Block 2 97 Constant object 104289c3f040 (LexicalEnvironment) Object 98 Constant object 104289c3e030 (global) Object 99 Constant function complex1 (-e:2) at 104289c6c8c8 Object 100 Constant undefined Undefined 101 Unbox Phi#85 to Double (fallible) Double 102 Box ← Phi#90 Value 103 Unbox Box#102 to Double (fallible) Double 104 Add ← Unbox#101, Unbox#103 [double] Double 105 Constant 0x1 Int32 106 Constant function complex1 (-e:2) at 104289c6c8c8 Object 107 GuardSpecificFunction ← Constant#99, Constant#106 Object 108 Call ← GuardSpecificFunction#107, Constant#100, Add#104 Value 109 Constant object 104289c3f040 (LexicalEnvironment) Object 110 Constant object 104289c3e030 (global) Object 111 Constant function complex2 (-e:7) at 104289c6c970 Object 112 Constant undefined Undefined 113 Unbox Phi#86 to Int32 (fallible) Int32 114 Box ← Phi#90 Value 115 Unbox Box#114 to Int32 (fallible) Int32 116 Add ← Unbox#113, Unbox#115 [int32] Int32 117 Constant 0x1 Int32 118 Constant function complex2 (-e:7) at 104289c6c970 Object 119 GuardSpecificFunction ← Constant#111, Constant#118 Object 120 Goto → block 3 Block 3 121 Constant undefined Undefined 122 Constant 0x1 Int32 123 Lsh ← Add#116, Constant#122 Int32 124 Constant 0x1 Int32 125 Rsh ← Add#116, Constant#124 Int32 126 Constant 0xff Int32 127 BitAnd ← Add#116, Constant#126 Int32 128 Constant 0x2 Int32 129 Ursh ← Add#116, Constant#128 Int32 130 Add ← BitAnd#127, Ursh#129 [int32] Int32 131 BitNot ← Add#116 Int32 132 Sub ← Add#130, BitNot#131 [int32] Int32 133 BitXor ← Rsh#125, Sub#132 Int32 134 BitOr ← Lsh#123, BitXor#133 Int32 135 Goto → block 4 Block 4 136 Constant object 104289c3f040 (LexicalEnvironment) Object 137 Constant object 104289c3e030 (global) Object 138 Constant function complex3 (-e:11) at 104289c6c938 Object 139 Constant undefined Undefined 140 Constant 0x2 Int32 141 Constant function complex3 (-e:11) at 104289c6c938 Object 142 GuardSpecificFunction ← Constant#138, Constant#141 Object 143 Call ← GuardSpecificFunction#142, Constant#139, Phi#87, Call#108 Value 144 Constant object 104289c3f040 (LexicalEnvironment) Object 145 Constant object 104289c3e030 (global) Object 146 Constant function complex4 (-e:17) at 104289c6c890 Object 147 Constant undefined Undefined 148 Constant shape at 104289c64f00 Shape 149 NewArrayObject ← Constant#148 Object 150 Constant 0x0 Int32 151 Elements ← NewArrayObject#149 Elements 152 PostWriteBarrier ← NewArrayObject#149, Call#108 153 StoreElement ← Elements#151, Constant#150, Call#108 154 SetInitializedLength ← Elements#151, Constant#150 155 Constant 0x1 Int32 156 Elements ← NewArrayObject#149 Elements 157 PostWriteBarrier ← NewArrayObject#149, BitOr#134 158 StoreElement ← Elements#156, Constant#155, BitOr#134 159 SetInitializedLength ← Elements#156, Constant#155 160 Constant 0x2 Int32 161 Elements ← NewArrayObject#149 Elements 162 PostWriteBarrier ← NewArrayObject#149, Call#143 163 StoreElement ← Elements#161, Constant#160, Call#143 164 SetInitializedLength ← Elements#161, Constant#160 165 Constant 0x3 Int32 166 Elements ← NewArrayObject#149 Elements 167 PostWriteBarrier ← NewArrayObject#149, Phi#90 168 StoreElement ← Elements#166, Constant#165, Phi#90 169 SetInitializedLength ← Elements#166, Constant#165 170 Constant 0x1 Int32 171 Constant function complex4 (-e:17) at 104289c6c890 Object 172 GuardSpecificFunction ← Constant#146, Constant#171 Object 173 Goto → block 5 Block 5 174 Constant undefined Undefined 175 FunctionEnvironment ← GuardSpecificFunction#172 Object 176 GuardShape ← NewArrayObject#149 Object 177 Constant object 104289c3e088 (Array) Object 178 Constant function map (self-hosted:163) at 104289c47920 Object 179 Constant function complex4/< (-e:18) at 104289c63d28 Object 180 Lambda ← FunctionEnvironment#175, Constant#179 Object 181 Constant 0x1 Int32 182 Constant function map (self-hosted:163) at 104289c47920 Object 183 GuardSpecificFunction ← Constant#178, Constant#182 Object 184 Goto → block 6 Block 6 185 Constant undefined Undefined 186 Constant function ToObject at 104289c6c740 Object 187 Box ← Constant#186 Value 188 DebugCheckSelfHosted ← Box#187 Value 189 Constant undefined Undefined 190 Constant 0x1 Int32 191 Constant function ToLength at 104289c6c778 Object 192 Box ← Constant#191 Value 193 DebugCheckSelfHosted ← Box#192 Value 194 Constant undefined Undefined 195 GuardShape ← NewArrayObject#149 Object 196 Elements ← GuardShape#195 Elements 197 ArrayLength ← Elements#196 Int32 198 Constant 0x1 Int32 199 Constant 0x0 Int32 200 MinMax ← ArrayLength#197, Constant#199 (max) Int32 201 Constant 0x1 Int32 202 Constant 0x0 Int32 203 Compare ← Constant#201, Constant#202 StrictEq Bool 204 Test ← Compare#203 → block 7, block 8 1 0 Block 7 205 CallGetIntrinsicValue Value 206 DebugCheckSelfHosted ← CallGetIntrinsicValue#205 Value 207 Constant undefined Undefined 208 Constant 0x37 Int32 209 Constant 0x0 Int32 210 Constant string 104289c2e080 String 211 Bail 212 Unreachable Block 8 213 Constant function IsCallable at 104289c6c7b0 Object 214 Box ← Constant#213 Value 215 DebugCheckSelfHosted ← Box#214 Value 216 Constant undefined Undefined 217 Constant 0x1 Int32 218 IsCallable ← Lambda#180 Bool 219 Test ← IsCallable#218 → block 10, block 9 1 0 Block 9 220 CallGetIntrinsicValue Value 221 DebugCheckSelfHosted ← CallGetIntrinsicValue#220 Value 222 Constant undefined Undefined 223 Constant 0xc Int32 224 CallGetIntrinsicValue Value 225 DebugCheckSelfHosted ← CallGetIntrinsicValue#224 Value 226 Constant undefined Undefined 227 Constant 0x0 Int32 228 Bail 229 Unreachable Block 10 230 Constant 0x1 Int32 231 Constant 0x1 Int32 232 Compare ← Constant#230, Constant#231 Gt Bool 233 Test ← Compare#232 → block 11, block 12 1 0 Block 11 234 Constant 0x1 Int32 235 GetInlinedArgument ← Constant#234, Lambda#180 Value 236 Goto → block 13 Block 12 237 Constant undefined Undefined 238 Box ← Constant#237 Value 239 Goto → block 13 Block 13 240 Phi ← Box#238, GetInlinedArgument#235 Value 241 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 242 Box ← Constant#241 Value 243 DebugCheckSelfHosted ← Box#242 Value 244 Constant undefined Undefined 245 Constant 0x1 Int32 246 HasShape ← NewArrayObject#149 Bool 247 Test ← HasShape#246 → block 14, block 15 1 0 Block 14 248 Constant function std_Array at 104289c6c820 Object 249 Box ← Constant#248 Value 250 DebugCheckSelfHosted ← Box#249 Value 251 Constant undefined Undefined 252 Constant 0x1 Int32 253 Unbox DebugCheckSelfHosted#250 to Object (fallible) Object 254 Constant function std_Array at 104289c6c820 Object 255 GuardSpecificFunction ← Unbox#253, Constant#254 Object 256 NewArrayDynamicLength ← MinMax#200 Object 257 Goto → block 16 Block 15 258 CallGetIntrinsicValue Value 259 DebugCheckSelfHosted ← CallGetIntrinsicValue#258 Value 260 Constant undefined Undefined 261 Bail 262 Unreachable Block 16 263 Constant 0x0 Int32 264 Goto → block 17 Block 17 (loop header) 265 Phi ← Constant#263, Add#326 Int32 266 Constant magic optimized-out MagicOptimizedOut 267 InterruptCheck 268 Box ← Phi#265 Value 269 Unbox Box#268 to Int32 (fallible) Int32 270 Box ← MinMax#200 Value 271 Unbox Box#270 to Int32 (fallible) Int32 272 Compare ← Unbox#269, Unbox#271 Lt Bool 273 Test ← Compare#272 → block 18, block 24 1 0 Block 18 274 Constant magic optimized-out MagicOptimizedOut 275 Box ← NewArrayObject#149 Value 276 Unbox Box#275 to Object (fallible) Object 277 Box ← Phi#265 Value 278 Unbox Box#277 to Int32 (fallible) Int32 279 GuardShape ← Unbox#276 Object 280 Elements ← GuardShape#279 Elements 281 InitializedLength ← Elements#280 Int32 282 BoundsCheck ← Unbox#278, InitializedLength#281 Int32 283 SpectreMaskIndex ← BoundsCheck#282, InitializedLength#281 Int32 284 GuardElementNotHole ← Elements#280, SpectreMaskIndex#283 285 Constant true Bool 286 Test ← Constant#285 → block 20, block 19 1 0 Block 19 (split edge) 287 Constant magic optimized-out MagicOptimizedOut 288 Goto → block 23 Block 20 289 Constant magic optimized-out MagicOptimizedOut 290 Box ← NewArrayObject#149 Value 291 Unbox Box#290 to Object (fallible) Object 292 Box ← Phi#265 Value 293 Unbox Box#292 to Int32 (fallible) Int32 294 GuardShape ← Unbox#291 Object 295 Elements ← GuardShape#294 Elements 296 InitializedLength ← Elements#295 Int32 297 BoundsCheck ← Unbox#293, InitializedLength#296 Int32 298 SpectreMaskIndex ← BoundsCheck#297, InitializedLength#296 Int32 299 GuardElementsArePacked ← Elements#295 300 LoadElement ← Elements#295, SpectreMaskIndex#298 Value 301 Constant 0x3 Int32 302 Box ← Lambda#180 Value 303 Unbox Box#302 to Object (fallible) Object 304 GuardToFunction ← Unbox#303 Object 305 GuardFunctionScript ← GuardToFunction#304 Object 306 Goto → block 21 Block 21 307 Constant undefined Undefined 308 Constant 0x2 Int32 309 Unbox LoadElement#300 to Double (fallible) Double 310 ToDouble ← Constant#308 Double 311 Mul ← Unbox#309, ToDouble#310 [double] Double 312 Goto → block 22 Block 22 313 Constant magic optimized-out MagicOptimizedOut 314 Box ← NewArrayDynamicLength#256 Value 315 Unbox Box#314 to Object (fallible) Object 316 Box ← Phi#265 Value 317 Unbox Box#316 to Int32 (fallible) Int32 318 GuardShape ← Unbox#315 Object 319 Elements ← GuardShape#318 Elements 320 StoreElementHole ← GuardShape#318, Elements#319, Unbox#317, Mul#311 321 Goto → block 23 Block 23 (backedge) 322 Constant magic optimized-out MagicOptimizedOut 323 Box ← Phi#265 Value 324 Unbox Box#323 to Int32 (fallible) Int32 325 Constant 0x1 Int32 326 Add ← Unbox#324, Constant#325 [int32] Int32 327 Goto → block 17 Block 24 328 Box ← NewArrayDynamicLength#256 Value 329 Unbox Box#328 to Object (fallible) Object 330 GuardShape ← Unbox#329 Object 331 Constant object 104289c3e088 (Array) Object 332 Constant function filter (self-hosted:183) at 104289c47970 Object 333 Constant function complex4/< (-e:18) at 104289c63d60 Object 334 Lambda ← FunctionEnvironment#175, Constant#333 Object 335 Constant 0x1 Int32 336 Constant function filter (self-hosted:183) at 104289c47970 Object 337 GuardSpecificFunction ← Constant#332, Constant#336 Object 338 Goto → block 25 Block 25 339 Constant undefined Undefined 340 Constant function ToObject at 104289c6c740 Object 341 Box ← Constant#340 Value 342 DebugCheckSelfHosted ← Box#341 Value 343 Constant undefined Undefined 344 Constant 0x1 Int32 345 Box ← NewArrayDynamicLength#256 Value 346 Unbox Box#345 to Object (fallible) Object 347 Constant function ToLength at 104289c6c778 Object 348 Box ← Constant#347 Value 349 DebugCheckSelfHosted ← Box#348 Value 350 Constant undefined Undefined 351 GuardShape ← Unbox#346 Object 352 Elements ← GuardShape#351 Elements 353 ArrayLength ← Elements#352 Int32 354 Constant 0x1 Int32 355 Constant 0x0 Int32 356 MinMax ← ArrayLength#353, Constant#355 (max) Int32 357 Constant 0x1 Int32 358 Constant 0x0 Int32 359 Compare ← Constant#357, Constant#358 StrictEq Bool 360 Test ← Compare#359 → block 26, block 27 1 0 Block 26 361 CallGetIntrinsicValue Value 362 DebugCheckSelfHosted ← CallGetIntrinsicValue#361 Value 363 Constant undefined Undefined 364 Constant 0x37 Int32 365 Constant 0x0 Int32 366 Constant string 104289c28540 String 367 Bail 368 Unreachable Block 27 369 Constant function IsCallable at 104289c6c7b0 Object 370 Box ← Constant#369 Value 371 DebugCheckSelfHosted ← Box#370 Value 372 Constant undefined Undefined 373 Constant 0x1 Int32 374 IsCallable ← Lambda#334 Bool 375 Test ← IsCallable#374 → block 29, block 28 1 0 Block 28 376 CallGetIntrinsicValue Value 377 DebugCheckSelfHosted ← CallGetIntrinsicValue#376 Value 378 Constant undefined Undefined 379 Constant 0xc Int32 380 CallGetIntrinsicValue Value 381 DebugCheckSelfHosted ← CallGetIntrinsicValue#380 Value 382 Constant undefined Undefined 383 Constant 0x0 Int32 384 Bail 385 Unreachable Block 29 386 Constant 0x1 Int32 387 Constant 0x1 Int32 388 Compare ← Constant#386, Constant#387 Gt Bool 389 Test ← Compare#388 → block 30, block 31 1 0 Block 30 390 Constant 0x1 Int32 391 GetInlinedArgument ← Constant#390, Lambda#334 Value 392 Goto → block 32 Block 31 393 Constant undefined Undefined 394 Box ← Constant#393 Value 395 Goto → block 32 Block 32 396 Phi ← Box#394, GetInlinedArgument#391 Value 397 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 398 Box ← Constant#397 Value 399 DebugCheckSelfHosted ← Box#398 Value 400 Constant undefined Undefined 401 Constant 0x1 Int32 402 HasShape ← Unbox#346 Bool 403 Test ← HasShape#402 → block 33, block 34 1 0 Block 33 404 Constant shape at 104289c64f00 Shape 405 NewArrayObject ← Constant#404 Object 406 Goto → block 35 Block 34 407 CallGetIntrinsicValue Value 408 DebugCheckSelfHosted ← CallGetIntrinsicValue#407 Value 409 Constant undefined Undefined 410 Constant 0x0 Int32 411 Bail 412 Unreachable Block 35 413 Constant 0x0 Int32 414 Constant 0x0 Int32 415 Goto → block 36 Block 36 (loop header) 416 Phi ← Constant#413, Add#482 Int32 417 Phi ← Constant#414, Phi#477 Int32 418 Constant magic optimized-out MagicOptimizedOut 419 InterruptCheck 420 Box ← Phi#416 Value 421 Unbox Box#420 to Int32 (fallible) Int32 422 Box ← MinMax#356 Value 423 Unbox Box#422 to Int32 (fallible) Int32 424 Compare ← Unbox#421, Unbox#423 Lt Bool 425 Test ← Compare#424 → block 37, block 45 1 0 Block 37 426 Constant magic optimized-out MagicOptimizedOut 427 Box ← Unbox#346 Value 428 Unbox Box#427 to Object (fallible) Object 429 Box ← Phi#416 Value 430 Unbox Box#429 to Int32 (fallible) Int32 431 GuardShape ← Unbox#428 Object 432 Elements ← GuardShape#431 Elements 433 InitializedLength ← Elements#432 Int32 434 BoundsCheck ← Unbox#430, InitializedLength#433 Int32 435 SpectreMaskIndex ← BoundsCheck#434, InitializedLength#433 Int32 436 GuardElementNotHole ← Elements#432, SpectreMaskIndex#435 437 Constant true Bool 438 Test ← Constant#437 → block 39, block 38 1 0 Block 38 (split edge) 439 Constant magic optimized-out MagicOptimizedOut 440 Goto → block 44 Block 39 441 Constant magic optimized-out MagicOptimizedOut 442 Box ← Unbox#346 Value 443 Unbox Box#442 to Object (fallible) Object 444 Box ← Phi#416 Value 445 Unbox Box#444 to Int32 (fallible) Int32 446 GuardShape ← Unbox#443 Object 447 Elements ← GuardShape#446 Elements 448 InitializedLength ← Elements#447 Int32 449 BoundsCheck ← Unbox#445, InitializedLength#448 Int32 450 SpectreMaskIndex ← BoundsCheck#449, InitializedLength#448 Int32 451 GuardElementsArePacked ← Elements#447 452 LoadElement ← Elements#447, SpectreMaskIndex#450 Value 453 Constant 0x3 Int32 454 Box ← Lambda#334 Value 455 Unbox Box#454 to Object (fallible) Object 456 GuardToFunction ← Unbox#455 Object 457 GuardFunctionScript ← GuardToFunction#456 Object 458 Goto → block 40 Block 40 459 Constant undefined Undefined 460 Constant 0x32 Int32 461 Unbox LoadElement#452 to Double (fallible) Double 462 ToDouble ← Constant#460 Double 463 Compare ← Unbox#461, ToDouble#462 Gt Bool 464 Goto → block 41 Block 41 465 Test ← Compare#463 → block 43, block 42 1 0 Block 42 (split edge) 466 Goto → block 44 Block 43 467 Box ← Phi#417 Value 468 Unbox Box#467 to Int32 (fallible) Int32 469 Constant 0x1 Int32 470 Add ← Unbox#468, Constant#469 [int32] Int32 471 Box ← NewArrayObject#405 Value 472 Unbox Box#471 to Object (fallible) Object 473 GuardShape ← Unbox#472 Object 474 Elements ← GuardShape#473 Elements 475 StoreElementHole ← GuardShape#473, Elements#474, Unbox#468, LoadElement#452 476 Goto → block 44 Block 44 (backedge) 477 Phi ← Add#470, Phi#417, Phi#417 Int32 478 Constant magic optimized-out MagicOptimizedOut 479 Box ← Phi#416 Value 480 Unbox Box#479 to Int32 (fallible) Int32 481 Constant 0x1 Int32 482 Add ← Unbox#480, Constant#481 [int32] Int32 483 Goto → block 36 Block 45 484 Box ← NewArrayObject#405 Value 485 Unbox Box#484 to Object (fallible) Object 486 GuardShape ← Unbox#485 Object 487 Constant object 104289c3e088 (Array) Object 488 Constant function reduce (self-hosted:205) at 104289c479c0 Object 489 Constant function complex4/< (-e:18) at 104289c63d98 Object 490 Lambda ← FunctionEnvironment#175, Constant#489 Object 491 Constant 0x0 Int32 492 Constant 0x2 Int32 493 Constant function reduce (self-hosted:205) at 104289c479c0 Object 494 GuardSpecificFunction ← Constant#488, Constant#493 Object 495 Call ← GuardSpecificFunction#494, NewArrayObject#405, Lambda#490, Constant#491 Value 496 Goto → block 46 Block 46 497 Constant object 104289c3f040 (LexicalEnvironment) Object 498 Constant object 104289c3e030 (global) Object 499 Constant function complex5 (-e:21) at 104289c6c900 Object 500 Constant undefined Undefined 501 Constant shape at 104289c64fc0 Shape 502 NewPlainObject ← Constant#501 Object 503 GuardShape ← NewPlainObject#502 Object 504 PostWriteBarrier ← GuardShape#503, Call#108 505 StoreFixedSlot ← GuardShape#503, Call#108 (slot 0) 506 GuardShape ← NewPlainObject#502 Object 507 PostWriteBarrier ← GuardShape#506, BitOr#134 508 StoreFixedSlot ← GuardShape#506, BitOr#134 (slot 1) 509 GuardShape ← NewPlainObject#502 Object 510 PostWriteBarrier ← GuardShape#509, Call#143 511 StoreFixedSlot ← GuardShape#509, Call#143 (slot 2) 512 Constant 0x1 Int32 513 Constant function complex5 (-e:21) at 104289c6c900 Object 514 GuardSpecificFunction ← Constant#499, Constant#513 Object 515 Goto → block 47 Block 47 516 Constant undefined Undefined 517 FunctionEnvironment ← GuardSpecificFunction#514 Object 518 Constant object 104289c3f078 (Call) Object 519 NewCallObject ← Constant#518 Object 520 Box ← FunctionEnvironment#517 Value 521 AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#520 522 Box ← GuardSpecificFunction#514 Value 523 AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#522 524 StoreFixedSlot ← NewCallObject#519, FunctionEnvironment#517 (slot 0) 525 StoreFixedSlot ← NewCallObject#519, GuardSpecificFunction#514 (slot 1) 526 PostWriteBarrier ← NewCallObject#519, NewPlainObject#502 527 StoreFixedSlot ← NewCallObject#519, NewPlainObject#502 (slot 2) 528 Constant object 104289c3f040 (LexicalEnvironment) Object 529 Constant object 104289c3e030 (global) Object 530 Constant function Object at 104289c422e0 Object 531 Constant function Object at 104289c422e0 Object 532 GuardObjectIdentity ← Constant#530, Constant#531 Object 533 Constant function keys at 104289c42468 Object 534 LoadFixedSlot ← NewCallObject#519 (slot 2) Value 535 Constant 0x1 Int32 536 Constant function keys at 104289c42468 Object 537 GuardSpecificFunction ← Constant#533, Constant#536 Object 538 Unbox LoadFixedSlot#534 to Object (fallible) Object 539 GuardIsNotProxy ← Unbox#538 Object 540 ObjectKeys ← GuardIsNotProxy#539 Object 541 GuardShape ← ObjectKeys#540 Object 542 Constant object 104289c3e088 (Array) Object 543 Constant function map (self-hosted:163) at 104289c47920 Object 544 Constant function complex5/< (-e:22) at 104289c63e08 Object 545 Lambda ← NewCallObject#519, Constant#544 Object 546 Constant 0x1 Int32 547 Constant function map (self-hosted:163) at 104289c47920 Object 548 GuardSpecificFunction ← Constant#543, Constant#547 Object 549 Goto → block 48 Block 48 550 Constant undefined Undefined 551 Constant function ToObject at 104289c6c740 Object 552 Box ← Constant#551 Value 553 DebugCheckSelfHosted ← Box#552 Value 554 Constant undefined Undefined 555 Constant 0x1 Int32 556 Constant function ToLength at 104289c6c778 Object 557 Box ← Constant#556 Value 558 DebugCheckSelfHosted ← Box#557 Value 559 Constant undefined Undefined 560 GuardShape ← ObjectKeys#540 Object 561 Elements ← GuardShape#560 Elements 562 ArrayLength ← Elements#561 Int32 563 Constant 0x1 Int32 564 Constant 0x0 Int32 565 MinMax ← ArrayLength#562, Constant#564 (max) Int32 566 Constant 0x1 Int32 567 Constant 0x0 Int32 568 Compare ← Constant#566, Constant#567 StrictEq Bool 569 Test ← Compare#568 → block 49, block 50 1 0 Block 49 570 CallGetIntrinsicValue Value 571 DebugCheckSelfHosted ← CallGetIntrinsicValue#570 Value 572 Constant undefined Undefined 573 Constant 0x37 Int32 574 Constant 0x0 Int32 575 Constant string 104289c2e080 String 576 Bail 577 Unreachable Block 50 578 Constant function IsCallable at 104289c6c7b0 Object 579 Box ← Constant#578 Value 580 DebugCheckSelfHosted ← Box#579 Value 581 Constant undefined Undefined 582 Constant 0x1 Int32 583 IsCallable ← Lambda#545 Bool 584 Test ← IsCallable#583 → block 52, block 51 1 0 Block 51 585 CallGetIntrinsicValue Value 586 DebugCheckSelfHosted ← CallGetIntrinsicValue#585 Value 587 Constant undefined Undefined 588 Constant 0xc Int32 589 CallGetIntrinsicValue Value 590 DebugCheckSelfHosted ← CallGetIntrinsicValue#589 Value 591 Constant undefined Undefined 592 Constant 0x0 Int32 593 Bail 594 Unreachable Block 52 595 Constant 0x1 Int32 596 Constant 0x1 Int32 597 Compare ← Constant#595, Constant#596 Gt Bool 598 Test ← Compare#597 → block 53, block 54 1 0 Block 53 599 Constant 0x1 Int32 600 GetInlinedArgument ← Constant#599, Lambda#545 Value 601 Goto → block 55 Block 54 602 Constant undefined Undefined 603 Box ← Constant#602 Value 604 Goto → block 55 Block 55 605 Phi ← Box#603, GetInlinedArgument#600 Value 606 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 607 Box ← Constant#606 Value 608 DebugCheckSelfHosted ← Box#607 Value 609 Constant undefined Undefined 610 Constant 0x1 Int32 611 HasShape ← ObjectKeys#540 Bool 612 Test ← HasShape#611 → block 56, block 57 1 0 Block 56 613 Constant function std_Array at 104289c6c820 Object 614 Box ← Constant#613 Value 615 DebugCheckSelfHosted ← Box#614 Value 616 Constant undefined Undefined 617 Constant 0x1 Int32 618 Unbox DebugCheckSelfHosted#615 to Object (fallible) Object 619 Constant function std_Array at 104289c6c820 Object 620 GuardSpecificFunction ← Unbox#618, Constant#619 Object 621 NewArrayDynamicLength ← MinMax#565 Object 622 Goto → block 58 Block 57 623 CallGetIntrinsicValue Value 624 DebugCheckSelfHosted ← CallGetIntrinsicValue#623 Value 625 Constant undefined Undefined 626 Bail 627 Unreachable Block 58 628 Constant 0x0 Int32 629 Goto → block 59 Block 59 (loop header) 630 Phi ← Constant#628, Add#691 Int32 631 Constant magic optimized-out MagicOptimizedOut 632 InterruptCheck 633 Box ← Phi#630 Value 634 Unbox Box#633 to Int32 (fallible) Int32 635 Box ← MinMax#565 Value 636 Unbox Box#635 to Int32 (fallible) Int32 637 Compare ← Unbox#634, Unbox#636 Lt Bool 638 Test ← Compare#637 → block 60, block 66 1 0 Block 60 639 Constant magic optimized-out MagicOptimizedOut 640 Box ← ObjectKeys#540 Value 641 Unbox Box#640 to Object (fallible) Object 642 Box ← Phi#630 Value 643 Unbox Box#642 to Int32 (fallible) Int32 644 GuardShape ← Unbox#641 Object 645 Elements ← GuardShape#644 Elements 646 InitializedLength ← Elements#645 Int32 647 BoundsCheck ← Unbox#643, InitializedLength#646 Int32 648 SpectreMaskIndex ← BoundsCheck#647, InitializedLength#646 Int32 649 GuardElementNotHole ← Elements#645, SpectreMaskIndex#648 650 Constant true Bool 651 Test ← Constant#650 → block 62, block 61 1 0 Block 61 (split edge) 652 Constant magic optimized-out MagicOptimizedOut 653 Goto → block 65 Block 62 654 Constant magic optimized-out MagicOptimizedOut 655 Box ← ObjectKeys#540 Value 656 Unbox Box#655 to Object (fallible) Object 657 Box ← Phi#630 Value 658 Unbox Box#657 to Int32 (fallible) Int32 659 GuardShape ← Unbox#656 Object 660 Elements ← GuardShape#659 Elements 661 InitializedLength ← Elements#660 Int32 662 BoundsCheck ← Unbox#658, InitializedLength#661 Int32 663 SpectreMaskIndex ← BoundsCheck#662, InitializedLength#661 Int32 664 GuardElementsArePacked ← Elements#660 665 LoadElement ← Elements#660, SpectreMaskIndex#663 Value 666 Constant 0x3 Int32 667 Box ← Lambda#545 Value 668 Unbox Box#667 to Object (fallible) Object 669 GuardToFunction ← Unbox#668 Object 670 GuardFunctionScript ← GuardToFunction#669 Object 671 Goto → block 63 Block 63 672 Constant undefined Undefined 673 FunctionEnvironment ← GuardFunctionScript#670 Object 674 LoadFixedSlot ← FunctionEnvironment#673 (slot 2) Value 675 Unbox LoadFixedSlot#674 to Object (fallible) Object 676 MegamorphicLoadSlotByValue ← Unbox#675, LoadElement#665 Value 677 Goto → block 64 Block 64 678 Constant magic optimized-out MagicOptimizedOut 679 Box ← NewArrayDynamicLength#621 Value 680 Unbox Box#679 to Object (fallible) Object 681 Box ← Phi#630 Value 682 Unbox Box#681 to Int32 (fallible) Int32 683 GuardShape ← Unbox#680 Object 684 Elements ← GuardShape#683 Elements 685 StoreElementHole ← GuardShape#683, Elements#684, Unbox#682, MegamorphicLoadSlotByValue#676 686 Goto → block 65 Block 65 (backedge) 687 Constant magic optimized-out MagicOptimizedOut 688 Box ← Phi#630 Value 689 Unbox Box#688 to Int32 (fallible) Int32 690 Constant 0x1 Int32 691 Add ← Unbox#689, Constant#690 [int32] Int32 692 Goto → block 59 Block 66 693 Box ← NewArrayDynamicLength#621 Value 694 Unbox Box#693 to Object (fallible) Object 695 GuardShape ← Unbox#694 Object 696 Constant object 104289c3e088 (Array) Object 697 Constant function reduce (self-hosted:205) at 104289c479c0 Object 698 Constant function complex5/< (-e:22) at 104289c63e40 Object 699 Lambda ← NewCallObject#519, Constant#698 Object 700 Constant 0x0 Int32 701 Constant 0x2 Int32 702 Constant function reduce (self-hosted:205) at 104289c479c0 Object 703 GuardSpecificFunction ← Constant#697, Constant#702 Object 704 Call ← GuardSpecificFunction#703, NewArrayDynamicLength#621, Lambda#699, Constant#700 Value 705 Goto → block 67 Block 67 (backedge) 706 Box ← Phi#90 Value 707 Unbox Box#706 to Int32 (fallible) Int32 708 Constant 0x1 Int32 709 Add ← Unbox#707, Constant#708 [int32] Int32 710 Box ← BitOr#134 Value 711 Goto → block 1 Block 68 712 Unbox Phi#85 to Double (fallible) Double 713 Unbox Phi#86 to Double (fallible) Double 714 Add ← Unbox#712, Unbox#713 [double] Double 715 Unbox Phi#87 to Double (fallible) Double 716 Add ← Add#714, Unbox#715 [double] Double 717 Unbox Phi#88 to Double (fallible) Double 718 Add ← Add#716, Unbox#717 [double] Double 719 Unbox Phi#89 to Double (fallible) Double 720 Add ← Add#718, Unbox#719 [double] Double 721 Box ← Add#720 Value 722 Return ← Box#721
Block 0 805 Constant magic optimized-out MagicOptimizedOut 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant magic uninitialized-lexical MagicUninitializedLexical 8 Constant function complex1 (-e:2) at 104289c6c8c8 Object 13 Call ← Constant#8, Constant#2, Parameter#1 Value 16 Constant function complex2 (-e:7) at 104289c6c970 Object 21 Call ← Constant#16, Constant#2, Parameter#1 Value 24 Constant function complex3 (-e:11) at 104289c6c938 Object 29 Call ← Constant#24, Constant#2, Parameter#1, Call#13 Value 30 Constant shape at 104289c64f00 Shape 31 NewArrayObject ← Constant#30 Object 32 Constant 0x0 Int32 33 Elements ← NewArrayObject#31 Elements 34 PostWriteBarrier ← NewArrayObject#31, Call#13 35 StoreElement ← Elements#33, Constant#32, Call#13 36 SetInitializedLength ← Elements#33, Constant#32 37 Constant 0x1 Int32 38 Elements ← NewArrayObject#31 Elements 39 PostWriteBarrier ← NewArrayObject#31, Call#21 40 StoreElement ← Elements#38, Constant#37, Call#21 41 SetInitializedLength ← Elements#38, Constant#37 42 Constant 0x2 Int32 43 Elements ← NewArrayObject#31 Elements 44 PostWriteBarrier ← NewArrayObject#31, Call#29 45 StoreElement ← Elements#43, Constant#42, Call#29 46 SetInitializedLength ← Elements#43, Constant#42 47 Constant 0x3 Int32 48 Elements ← NewArrayObject#31 Elements 49 PostWriteBarrier ← NewArrayObject#31, Parameter#1 50 StoreElement ← Elements#48, Constant#47, Parameter#1 51 SetInitializedLength ← Elements#48, Constant#47 54 Constant function complex4 (-e:17) at 104289c6c890 Object 59 Call ← Constant#54, Constant#2, NewArrayObject#31 Value 60 Constant shape at 104289c64fa0 Shape 61 NewPlainObject ← Constant#60 Object 62 GuardShape ← NewPlainObject#61 Object 63 PostWriteBarrier ← GuardShape#62, Call#13 64 StoreFixedSlot ← GuardShape#62, Call#13 (slot 0) 66 PostWriteBarrier ← GuardShape#62, Call#21 67 StoreFixedSlot ← GuardShape#62, Call#21 (slot 1) 69 PostWriteBarrier ← GuardShape#62, Call#29 70 StoreFixedSlot ← GuardShape#62, Call#29 (slot 2) 72 PostWriteBarrier ← GuardShape#62, Call#59 73 StoreFixedSlot ← GuardShape#62, Call#59 (slot 3) 76 Constant function complex5 (-e:21) at 104289c6c900 Object 81 Call ← Constant#76, Constant#2, NewPlainObject#61 Value 84 Goto → block 1 Block 1 (loop header) 85 Phi ← Call#13, Call#108 Value 86 Phi ← Call#21, Box#710 Value 87 Phi ← Call#29, Call#143 Value 88 Phi ← Call#59, Call#495 Value 89 Phi ← Call#81, Call#704 Value 90 Phi ← Constant#32, Add#709 Int32 91 InterruptCheck 92 Constant 0xa Int32 95 Compare ← Phi#90, Constant#92 Lt Bool 96 Test ← Compare#95 → block 2, block 56 1 0 Block 2 101 Unbox Phi#85 to Double (fallible) Double 806 ToDouble ← Phi#90 Double 104 Add ← Unbox#101, ToDouble#806 [double] Double 108 Call ← Constant#8, Constant#2, Add#104 Value 113 Unbox Phi#86 to Int32 (fallible) Int32 116 Add ← Unbox#113, Phi#90 [int32] Int32 120 Goto → block 3 Block 3 123 Lsh ← Add#116, Constant#37 Int32 125 Rsh ← Add#116, Constant#37 Int32 126 Constant 0xff Int32 127 BitAnd ← Add#116, Constant#126 Int32 129 Ursh ← Add#116, Constant#42 Int32 130 Add ← BitAnd#127, Ursh#129 [int32] Int32 131 BitNot ← Add#116 Int32 132 Sub ← Add#130, BitNot#131 [int32] Int32 133 BitXor ← Rsh#125, Sub#132 Int32 134 BitOr ← Lsh#123, BitXor#133 Int32 135 Goto → block 4 Block 4 143 Call ← Constant#24, Constant#2, Phi#87, Call#108 Value 149 NewArrayObject ← Constant#30 Object 151 Elements ← NewArrayObject#149 Elements 152 PostWriteBarrier ← NewArrayObject#149, Call#108 153 StoreElement ← Elements#151, Constant#32, Call#108 154 SetInitializedLength ← Elements#151, Constant#32 156 Elements ← NewArrayObject#149 Elements 157 PostWriteBarrier ← NewArrayObject#149, BitOr#134 158 StoreElement ← Elements#156, Constant#37, BitOr#134 159 SetInitializedLength ← Elements#156, Constant#37 161 Elements ← NewArrayObject#149 Elements 162 PostWriteBarrier ← NewArrayObject#149, Call#143 163 StoreElement ← Elements#161, Constant#42, Call#143 164 SetInitializedLength ← Elements#161, Constant#42 166 Elements ← NewArrayObject#149 Elements 167 PostWriteBarrier ← NewArrayObject#149, Phi#90 168 StoreElement ← Elements#166, Constant#47, Phi#90 169 SetInitializedLength ← Elements#166, Constant#47 173 Goto → block 5 Block 5 175 FunctionEnvironment ← Constant#54 Object 176 GuardShape ← NewArrayObject#149 Object 178 Constant function map (self-hosted:163) at 104289c47920 Object 179 Constant function complex4/< (-e:18) at 104289c63d28 Object 180 Lambda ← FunctionEnvironment#175, Constant#179 Object 184 Goto → block 6 Block 6 186 Constant function ToObject at 104289c6c740 Object 187 Box ← Constant#186 Value 188 DebugCheckSelfHosted ← Box#187 Value 191 Constant function ToLength at 104289c6c778 Object 192 Box ← Constant#191 Value 193 DebugCheckSelfHosted ← Box#192 Value 195 GuardShape ← NewArrayObject#149 Object 196 Elements ← GuardShape#195 Elements 197 ArrayLength ← Elements#196 Int32 808 Goto → block 7 Block 7 213 Constant function IsCallable at 104289c6c7b0 Object 214 Box ← Constant#213 Value 215 DebugCheckSelfHosted ← Box#214 Value 809 AssertClass ← Lambda#180 811 Goto → block 8 Block 8 813 Goto → block 9 Block 9 238 Box ← Constant#2 Value 239 Goto → block 10 Block 10 241 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 242 Box ← Constant#241 Value 243 DebugCheckSelfHosted ← Box#242 Value 246 HasShape ← NewArrayObject#149 Bool 247 Test ← HasShape#246 → block 11, block 12 1 0 Block 11 248 Constant function std_Array at 104289c6c820 Object 249 Box ← Constant#248 Value 250 DebugCheckSelfHosted ← Box#249 Value 253 Unbox DebugCheckSelfHosted#250 to Object (fallible) Object 255 GuardSpecificFunction ← Unbox#253, Constant#248 Object 256 NewArrayDynamicLength ← ArrayLength#197 Object 257 Goto → block 13 Block 12 258 CallGetIntrinsicValue Value 259 DebugCheckSelfHosted ← CallGetIntrinsicValue#258 Value 261 Bail 262 Unreachable Block 13 264 Goto → block 14 Block 14 (loop header) 265 Phi ← Constant#32, Add#326 Int32 267 InterruptCheck 272 Compare ← Phi#265, ArrayLength#197 Lt Bool 273 Test ← Compare#272 → block 15, block 20 1 0 Block 15 279 GuardShape ← NewArrayObject#149 Object 280 Elements ← GuardShape#279 Elements 281 InitializedLength ← Elements#280 Int32 282 BoundsCheck ← Phi#265, InitializedLength#281 Int32 283 SpectreMaskIndex ← BoundsCheck#282, InitializedLength#281 Int32 284 GuardElementNotHole ← Elements#280, SpectreMaskIndex#283 814 Goto → block 16 Block 16 299 GuardElementsArePacked ← Elements#280 300 LoadElement ← Elements#280, SpectreMaskIndex#283 Value 815 AssertClass ← Lambda#180 306 Goto → block 17 Block 17 309 Unbox LoadElement#300 to Double (fallible) Double 816 Constant 2 Double 311 Mul ← Unbox#309, Constant#816 [double] Double 312 Goto → block 18 Block 18 318 GuardShape ← NewArrayDynamicLength#256 Object 319 Elements ← GuardShape#318 Elements 320 StoreElementHole ← GuardShape#318, Elements#319, Phi#265, Mul#311 321 Goto → block 19 Block 19 (backedge) 326 Add ← Phi#265, Constant#37 [int32] Int32 327 Goto → block 14 Block 20 330 GuardShape ← NewArrayDynamicLength#256 Object 332 Constant function filter (self-hosted:183) at 104289c47970 Object 333 Constant function complex4/< (-e:18) at 104289c63d60 Object 334 Lambda ← FunctionEnvironment#175, Constant#333 Object 338 Goto → block 21 Block 21 342 DebugCheckSelfHosted ← Box#187 Value 349 DebugCheckSelfHosted ← Box#192 Value 351 GuardShape ← NewArrayDynamicLength#256 Object 352 Elements ← GuardShape#351 Elements 353 ArrayLength ← Elements#352 Int32 818 Goto → block 22 Block 22 371 DebugCheckSelfHosted ← Box#214 Value 819 AssertClass ← Lambda#334 821 Goto → block 23 Block 23 823 Goto → block 24 Block 24 395 Goto → block 25 Block 25 399 DebugCheckSelfHosted ← Box#242 Value 402 HasShape ← NewArrayDynamicLength#256 Bool 403 Test ← HasShape#402 → block 26, block 27 1 0 Block 26 405 NewArrayObject ← Constant#30 Object 406 Goto → block 28 Block 27 407 CallGetIntrinsicValue Value 408 DebugCheckSelfHosted ← CallGetIntrinsicValue#407 Value 411 Bail 412 Unreachable Block 28 415 Goto → block 29 Block 29 (loop header) 416 Phi ← Constant#32, Add#482 Int32 417 Phi ← Constant#32, Phi#477 Int32 419 InterruptCheck 424 Compare ← Phi#416, ArrayLength#353 Lt Bool 425 Test ← Compare#424 → block 30, block 37 1 0 Block 30 431 GuardShape ← NewArrayDynamicLength#256 Object 432 Elements ← GuardShape#431 Elements 433 InitializedLength ← Elements#432 Int32 434 BoundsCheck ← Phi#416, InitializedLength#433 Int32 435 SpectreMaskIndex ← BoundsCheck#434, InitializedLength#433 Int32 436 GuardElementNotHole ← Elements#432, SpectreMaskIndex#435 824 Goto → block 31 Block 31 451 GuardElementsArePacked ← Elements#432 452 LoadElement ← Elements#432, SpectreMaskIndex#435 Value 825 AssertClass ← Lambda#334 458 Goto → block 32 Block 32 461 Unbox LoadElement#452 to Double (fallible) Double 826 Constant 50 Double 463 Compare ← Unbox#461, Constant#826 Gt Bool 464 Goto → block 33 Block 33 465 Test ← Compare#463 → block 35, block 34 1 0 Block 34 (split edge) 466 Goto → block 36 Block 35 470 Add ← Phi#417, Constant#37 [int32] Int32 473 GuardShape ← NewArrayObject#405 Object 474 Elements ← GuardShape#473 Elements 475 StoreElementHole ← GuardShape#473, Elements#474, Phi#417, LoadElement#452 476 Goto → block 36 Block 36 (backedge) 477 Phi ← Add#470, Phi#417 Int32 482 Add ← Phi#416, Constant#37 [int32] Int32 483 Goto → block 29 Block 37 486 GuardShape ← NewArrayObject#405 Object 488 Constant function reduce (self-hosted:205) at 104289c479c0 Object 489 Constant function complex4/< (-e:18) at 104289c63d98 Object 490 Lambda ← FunctionEnvironment#175, Constant#489 Object 495 Call ← Constant#488, NewArrayObject#405, Lambda#490, Constant#32 Value 496 Goto → block 38 Block 38 501 Constant shape at 104289c64fc0 Shape 502 NewPlainObject ← Constant#501 Object 503 GuardShape ← NewPlainObject#502 Object 504 PostWriteBarrier ← GuardShape#503, Call#108 505 StoreFixedSlot ← GuardShape#503, Call#108 (slot 0) 507 PostWriteBarrier ← GuardShape#503, BitOr#134 508 StoreFixedSlot ← GuardShape#503, BitOr#134 (slot 1) 510 PostWriteBarrier ← GuardShape#503, Call#143 511 StoreFixedSlot ← GuardShape#503, Call#143 (slot 2) 515 Goto → block 39 Block 39 517 FunctionEnvironment ← Constant#76 Object 518 Constant object 104289c3f078 (Call) Object 519 NewCallObject ← Constant#518 Object 520 Box ← FunctionEnvironment#517 Value 521 AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#520 522 Box ← Constant#76 Value 523 AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#522 524 StoreFixedSlot ← NewCallObject#519, FunctionEnvironment#517 (slot 0) 525 StoreFixedSlot ← NewCallObject#519, Constant#76 (slot 1) 526 PostWriteBarrier ← NewCallObject#519, NewPlainObject#502 527 StoreFixedSlot ← NewCallObject#519, NewPlainObject#502 (slot 2) 828 AssertClass ← NewPlainObject#502 540 ObjectKeys ← NewPlainObject#502 Object 541 GuardShape ← ObjectKeys#540 Object 544 Constant function complex5/< (-e:22) at 104289c63e08 Object 545 Lambda ← NewCallObject#519, Constant#544 Object 549 Goto → block 40 Block 40 553 DebugCheckSelfHosted ← Box#187 Value 558 DebugCheckSelfHosted ← Box#192 Value 560 GuardShape ← ObjectKeys#540 Object 561 Elements ← GuardShape#560 Elements 562 ArrayLength ← Elements#561 Int32 830 Goto → block 41 Block 41 580 DebugCheckSelfHosted ← Box#214 Value 831 AssertClass ← Lambda#545 833 Goto → block 42 Block 42 835 Goto → block 43 Block 43 604 Goto → block 44 Block 44 608 DebugCheckSelfHosted ← Box#242 Value 611 HasShape ← ObjectKeys#540 Bool 612 Test ← HasShape#611 → block 45, block 46 1 0 Block 45 615 DebugCheckSelfHosted ← Box#249 Value 618 Unbox DebugCheckSelfHosted#615 to Object (fallible) Object 620 GuardSpecificFunction ← Unbox#618, Constant#248 Object 621 NewArrayDynamicLength ← ArrayLength#562 Object 622 Goto → block 47 Block 46 623 CallGetIntrinsicValue Value 624 DebugCheckSelfHosted ← CallGetIntrinsicValue#623 Value 626 Bail 627 Unreachable Block 47 629 Goto → block 48 Block 48 (loop header) 630 Phi ← Constant#32, Add#691 Int32 632 InterruptCheck 637 Compare ← Phi#630, ArrayLength#562 Lt Bool 638 Test ← Compare#637 → block 49, block 54 1 0 Block 49 644 GuardShape ← ObjectKeys#540 Object 645 Elements ← GuardShape#644 Elements 646 InitializedLength ← Elements#645 Int32 647 BoundsCheck ← Phi#630, InitializedLength#646 Int32 648 SpectreMaskIndex ← BoundsCheck#647, InitializedLength#646 Int32 649 GuardElementNotHole ← Elements#645, SpectreMaskIndex#648 836 Goto → block 50 Block 50 664 GuardElementsArePacked ← Elements#645 665 LoadElement ← Elements#645, SpectreMaskIndex#648 Value 837 AssertClass ← Lambda#545 671 Goto → block 51 Block 51 674 LoadFixedSlot ← NewCallObject#519 (slot 2) Value 675 Unbox LoadFixedSlot#674 to Object (fallible) Object 676 MegamorphicLoadSlotByValue ← Unbox#675, LoadElement#665 Value 677 Goto → block 52 Block 52 683 GuardShape ← NewArrayDynamicLength#621 Object 684 Elements ← GuardShape#683 Elements 685 StoreElementHole ← GuardShape#683, Elements#684, Phi#630, MegamorphicLoadSlotByValue#676 686 Goto → block 53 Block 53 (backedge) 691 Add ← Phi#630, Constant#37 [int32] Int32 692 Goto → block 48 Block 54 695 GuardShape ← NewArrayDynamicLength#621 Object 698 Constant function complex5/< (-e:22) at 104289c63e40 Object 699 Lambda ← NewCallObject#519, Constant#698 Object 704 Call ← Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32 Value 705 Goto → block 55 Block 55 (backedge) 709 Add ← Phi#90, Constant#37 [int32] Int32 710 Box ← BitOr#134 Value 711 Goto → block 1 Block 56 712 Unbox Phi#85 to Double (fallible) Double 713 Unbox Phi#86 to Double (fallible) Double 714 Add ← Unbox#712, Unbox#713 [double] Double 715 Unbox Phi#87 to Double (fallible) Double 716 Add ← Add#714, Unbox#715 [double] Double 717 Unbox Phi#88 to Double (fallible) Double 718 Add ← Add#716, Unbox#717 [double] Double 719 Unbox Phi#89 to Double (fallible) Double 720 Add ← Add#718, Unbox#719 [double] Double 721 Box ← Add#720 Value 722 Return ← Box#721
Block 0 805 Constant magic optimized-out MagicOptimizedOut 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant magic uninitialized-lexical MagicUninitializedLexical 8 Constant function complex1 (-e:2) at 104289c6c8c8 Object 13 Call ← Constant#8, Constant#2, Parameter#1 Value 16 Constant function complex2 (-e:7) at 104289c6c970 Object 21 Call ← Constant#16, Constant#2, Parameter#1 Value 24 Constant function complex3 (-e:11) at 104289c6c938 Object 29 Call ← Constant#24, Constant#2, Parameter#1, Call#13 Value 30 Constant shape at 104289c64f00 Shape 31 NewArrayObject ← Constant#30 Object 32 Constant 0x0 Int32 33 Elements ← NewArrayObject#31 Elements 34 PostWriteBarrier ← NewArrayObject#31, Call#13 35 StoreElement ← Elements#33, Constant#32, Call#13 36 SetInitializedLength ← Elements#33, Constant#32 37 Constant 0x1 Int32 38 Elements ← NewArrayObject#31 Elements 39 PostWriteBarrier ← NewArrayObject#31, Call#21 40 StoreElement ← Elements#38, Constant#37, Call#21 41 SetInitializedLength ← Elements#38, Constant#37 42 Constant 0x2 Int32 43 Elements ← NewArrayObject#31 Elements 44 PostWriteBarrier ← NewArrayObject#31, Call#29 45 StoreElement ← Elements#43, Constant#42, Call#29 46 SetInitializedLength ← Elements#43, Constant#42 47 Constant 0x3 Int32 48 Elements ← NewArrayObject#31 Elements 49 PostWriteBarrier ← NewArrayObject#31, Parameter#1 50 StoreElement ← Elements#48, Constant#47, Parameter#1 51 SetInitializedLength ← Elements#48, Constant#47 54 Constant function complex4 (-e:17) at 104289c6c890 Object 59 Call ← Constant#54, Constant#2, NewArrayObject#31 Value 60 Constant shape at 104289c64fa0 Shape 61 NewPlainObject ← Constant#60 Object 62 GuardShape ← NewPlainObject#61 Object 63 PostWriteBarrier ← GuardShape#62, Call#13 64 StoreFixedSlot ← GuardShape#62, Call#13 (slot 0) 66 PostWriteBarrier ← GuardShape#62, Call#21 67 StoreFixedSlot ← GuardShape#62, Call#21 (slot 1) 69 PostWriteBarrier ← GuardShape#62, Call#29 70 StoreFixedSlot ← GuardShape#62, Call#29 (slot 2) 72 PostWriteBarrier ← GuardShape#62, Call#59 73 StoreFixedSlot ← GuardShape#62, Call#59 (slot 3) 76 Constant function complex5 (-e:21) at 104289c6c900 Object 81 Call ← Constant#76, Constant#2, NewPlainObject#61 Value 175 FunctionEnvironment ← Constant#54 Object 517 FunctionEnvironment ← Constant#76 Object 84 Goto → block 1 Block 1 (loop header) 85 Phi ← Call#13, Call#108 Value 86 Phi ← Call#21, Box#710 Value 87 Phi ← Call#29, Call#143 Value 88 Phi ← Call#59, Call#495 Value 89 Phi ← Call#81, Call#704 Value 90 Phi ← Constant#32, Add#709 Int32 91 InterruptCheck 92 Constant 0xa Int32 95 Compare ← Phi#90, Constant#92 Lt Bool 96 Test ← Compare#95 → block 2, block 56 1 0 Block 2 101 Unbox Phi#85 to Double (fallible) Double 806 ToDouble ← Phi#90 Double 104 Add ← Unbox#101, ToDouble#806 [double] Double 108 Call ← Constant#8, Constant#2, Add#104 Value 113 Unbox Phi#86 to Int32 (fallible) Int32 116 Add ← Unbox#113, Phi#90 [int32] Int32 120 Goto → block 3 Block 3 123 Lsh ← Add#116, Constant#37 Int32 125 Rsh ← Add#116, Constant#37 Int32 126 Constant 0xff Int32 127 BitAnd ← Add#116, Constant#126 Int32 129 Ursh ← Add#116, Constant#42 Int32 130 Add ← BitAnd#127, Ursh#129 [int32] Int32 131 BitNot ← Add#116 Int32 132 Sub ← Add#130, BitNot#131 [int32] Int32 133 BitXor ← Rsh#125, Sub#132 Int32 134 BitOr ← Lsh#123, BitXor#133 Int32 135 Goto → block 4 Block 4 143 Call ← Constant#24, Constant#2, Phi#87, Call#108 Value 149 NewArrayObject ← Constant#30 Object 151 Elements ← NewArrayObject#149 Elements 152 PostWriteBarrier ← NewArrayObject#149, Call#108 153 StoreElement ← Elements#151, Constant#32, Call#108 154 SetInitializedLength ← Elements#151, Constant#32 156 Elements ← NewArrayObject#149 Elements 157 PostWriteBarrier ← NewArrayObject#149, BitOr#134 158 StoreElement ← Elements#156, Constant#37, BitOr#134 159 SetInitializedLength ← Elements#156, Constant#37 161 Elements ← NewArrayObject#149 Elements 162 PostWriteBarrier ← NewArrayObject#149, Call#143 163 StoreElement ← Elements#161, Constant#42, Call#143 164 SetInitializedLength ← Elements#161, Constant#42 166 Elements ← NewArrayObject#149 Elements 167 PostWriteBarrier ← NewArrayObject#149, Phi#90 168 StoreElement ← Elements#166, Constant#47, Phi#90 169 SetInitializedLength ← Elements#166, Constant#47 173 Goto → block 5 Block 5 176 GuardShape ← NewArrayObject#149 Object 178 Constant function map (self-hosted:163) at 104289c47920 Object 179 Constant function complex4/< (-e:18) at 104289c63d28 Object 180 Lambda ← FunctionEnvironment#175, Constant#179 Object 184 Goto → block 6 Block 6 186 Constant function ToObject at 104289c6c740 Object 187 Box ← Constant#186 Value 188 DebugCheckSelfHosted ← Box#187 Value 191 Constant function ToLength at 104289c6c778 Object 192 Box ← Constant#191 Value 193 DebugCheckSelfHosted ← Box#192 Value 195 GuardShape ← NewArrayObject#149 Object 196 Elements ← GuardShape#195 Elements 197 ArrayLength ← Elements#196 Int32 808 Goto → block 7 Block 7 213 Constant function IsCallable at 104289c6c7b0 Object 214 Box ← Constant#213 Value 215 DebugCheckSelfHosted ← Box#214 Value 809 AssertClass ← Lambda#180 811 Goto → block 8 Block 8 813 Goto → block 9 Block 9 238 Box ← Constant#2 Value 239 Goto → block 10 Block 10 241 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 242 Box ← Constant#241 Value 243 DebugCheckSelfHosted ← Box#242 Value 246 HasShape ← NewArrayObject#149 Bool 247 Test ← HasShape#246 → block 11, block 12 1 0 Block 11 248 Constant function std_Array at 104289c6c820 Object 249 Box ← Constant#248 Value 250 DebugCheckSelfHosted ← Box#249 Value 253 Unbox DebugCheckSelfHosted#250 to Object (fallible) Object 255 GuardSpecificFunction ← Unbox#253, Constant#248 Object 256 NewArrayDynamicLength ← ArrayLength#197 Object 257 Goto → block 13 Block 12 258 CallGetIntrinsicValue Value 259 DebugCheckSelfHosted ← CallGetIntrinsicValue#258 Value 261 Bail 262 Unreachable Block 13 279 GuardShape ← NewArrayObject#149 Object 816 Constant 2 Double 318 GuardShape ← NewArrayDynamicLength#256 Object 264 Goto → block 14 Block 14 (loop header) 265 Phi ← Constant#32, Add#326 Int32 267 InterruptCheck 272 Compare ← Phi#265, ArrayLength#197 Lt Bool 273 Test ← Compare#272 → block 15, block 20 1 0 Block 15 280 Elements ← GuardShape#279 Elements 281 InitializedLength ← Elements#280 Int32 282 BoundsCheck ← Phi#265, InitializedLength#281 Int32 283 SpectreMaskIndex ← BoundsCheck#282, InitializedLength#281 Int32 284 GuardElementNotHole ← Elements#280, SpectreMaskIndex#283 814 Goto → block 16 Block 16 299 GuardElementsArePacked ← Elements#280 300 LoadElement ← Elements#280, SpectreMaskIndex#283 Value 815 AssertClass ← Lambda#180 306 Goto → block 17 Block 17 309 Unbox LoadElement#300 to Double (fallible) Double 311 Mul ← Unbox#309, Constant#816 [double] Double 312 Goto → block 18 Block 18 319 Elements ← GuardShape#318 Elements 320 StoreElementHole ← GuardShape#318, Elements#319, Phi#265, Mul#311 321 Goto → block 19 Block 19 (backedge) 326 Add ← Phi#265, Constant#37 [int32] Int32 327 Goto → block 14 Block 20 330 GuardShape ← NewArrayDynamicLength#256 Object 332 Constant function filter (self-hosted:183) at 104289c47970 Object 333 Constant function complex4/< (-e:18) at 104289c63d60 Object 334 Lambda ← FunctionEnvironment#175, Constant#333 Object 338 Goto → block 21 Block 21 342 DebugCheckSelfHosted ← Box#187 Value 349 DebugCheckSelfHosted ← Box#192 Value 351 GuardShape ← NewArrayDynamicLength#256 Object 352 Elements ← GuardShape#351 Elements 353 ArrayLength ← Elements#352 Int32 818 Goto → block 22 Block 22 371 DebugCheckSelfHosted ← Box#214 Value 819 AssertClass ← Lambda#334 821 Goto → block 23 Block 23 823 Goto → block 24 Block 24 395 Goto → block 25 Block 25 399 DebugCheckSelfHosted ← Box#242 Value 402 HasShape ← NewArrayDynamicLength#256 Bool 403 Test ← HasShape#402 → block 26, block 27 1 0 Block 26 405 NewArrayObject ← Constant#30 Object 406 Goto → block 28 Block 27 407 CallGetIntrinsicValue Value 408 DebugCheckSelfHosted ← CallGetIntrinsicValue#407 Value 411 Bail 412 Unreachable Block 28 431 GuardShape ← NewArrayDynamicLength#256 Object 826 Constant 50 Double 473 GuardShape ← NewArrayObject#405 Object 415 Goto → block 29 Block 29 (loop header) 416 Phi ← Constant#32, Add#482 Int32 417 Phi ← Constant#32, Phi#477 Int32 419 InterruptCheck 424 Compare ← Phi#416, ArrayLength#353 Lt Bool 425 Test ← Compare#424 → block 30, block 37 1 0 Block 30 432 Elements ← GuardShape#431 Elements 433 InitializedLength ← Elements#432 Int32 434 BoundsCheck ← Phi#416, InitializedLength#433 Int32 435 SpectreMaskIndex ← BoundsCheck#434, InitializedLength#433 Int32 436 GuardElementNotHole ← Elements#432, SpectreMaskIndex#435 824 Goto → block 31 Block 31 451 GuardElementsArePacked ← Elements#432 452 LoadElement ← Elements#432, SpectreMaskIndex#435 Value 825 AssertClass ← Lambda#334 458 Goto → block 32 Block 32 461 Unbox LoadElement#452 to Double (fallible) Double 463 Compare ← Unbox#461, Constant#826 Gt Bool 464 Goto → block 33 Block 33 465 Test ← Compare#463 → block 35, block 34 1 0 Block 34 (split edge) 466 Goto → block 36 Block 35 470 Add ← Phi#417, Constant#37 [int32] Int32 474 Elements ← GuardShape#473 Elements 475 StoreElementHole ← GuardShape#473, Elements#474, Phi#417, LoadElement#452 476 Goto → block 36 Block 36 (backedge) 477 Phi ← Add#470, Phi#417 Int32 482 Add ← Phi#416, Constant#37 [int32] Int32 483 Goto → block 29 Block 37 486 GuardShape ← NewArrayObject#405 Object 488 Constant function reduce (self-hosted:205) at 104289c479c0 Object 489 Constant function complex4/< (-e:18) at 104289c63d98 Object 490 Lambda ← FunctionEnvironment#175, Constant#489 Object 495 Call ← Constant#488, NewArrayObject#405, Lambda#490, Constant#32 Value 496 Goto → block 38 Block 38 501 Constant shape at 104289c64fc0 Shape 502 NewPlainObject ← Constant#501 Object 503 GuardShape ← NewPlainObject#502 Object 504 PostWriteBarrier ← GuardShape#503, Call#108 505 StoreFixedSlot ← GuardShape#503, Call#108 (slot 0) 507 PostWriteBarrier ← GuardShape#503, BitOr#134 508 StoreFixedSlot ← GuardShape#503, BitOr#134 (slot 1) 510 PostWriteBarrier ← GuardShape#503, Call#143 511 StoreFixedSlot ← GuardShape#503, Call#143 (slot 2) 515 Goto → block 39 Block 39 518 Constant object 104289c3f078 (Call) Object 519 NewCallObject ← Constant#518 Object 520 Box ← FunctionEnvironment#517 Value 521 AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#520 522 Box ← Constant#76 Value 523 AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#522 524 StoreFixedSlot ← NewCallObject#519, FunctionEnvironment#517 (slot 0) 525 StoreFixedSlot ← NewCallObject#519, Constant#76 (slot 1) 526 PostWriteBarrier ← NewCallObject#519, NewPlainObject#502 527 StoreFixedSlot ← NewCallObject#519, NewPlainObject#502 (slot 2) 828 AssertClass ← NewPlainObject#502 540 ObjectKeys ← NewPlainObject#502 Object 541 GuardShape ← ObjectKeys#540 Object 544 Constant function complex5/< (-e:22) at 104289c63e08 Object 545 Lambda ← NewCallObject#519, Constant#544 Object 549 Goto → block 40 Block 40 553 DebugCheckSelfHosted ← Box#187 Value 558 DebugCheckSelfHosted ← Box#192 Value 560 GuardShape ← ObjectKeys#540 Object 561 Elements ← GuardShape#560 Elements 562 ArrayLength ← Elements#561 Int32 830 Goto → block 41 Block 41 580 DebugCheckSelfHosted ← Box#214 Value 831 AssertClass ← Lambda#545 833 Goto → block 42 Block 42 835 Goto → block 43 Block 43 604 Goto → block 44 Block 44 608 DebugCheckSelfHosted ← Box#242 Value 611 HasShape ← ObjectKeys#540 Bool 612 Test ← HasShape#611 → block 45, block 46 1 0 Block 45 615 DebugCheckSelfHosted ← Box#249 Value 618 Unbox DebugCheckSelfHosted#615 to Object (fallible) Object 620 GuardSpecificFunction ← Unbox#618, Constant#248 Object 621 NewArrayDynamicLength ← ArrayLength#562 Object 622 Goto → block 47 Block 46 623 CallGetIntrinsicValue Value 624 DebugCheckSelfHosted ← CallGetIntrinsicValue#623 Value 626 Bail 627 Unreachable Block 47 644 GuardShape ← ObjectKeys#540 Object 674 LoadFixedSlot ← NewCallObject#519 (slot 2) Value 675 Unbox LoadFixedSlot#674 to Object (fallible) Object 683 GuardShape ← NewArrayDynamicLength#621 Object 629 Goto → block 48 Block 48 (loop header) 630 Phi ← Constant#32, Add#691 Int32 632 InterruptCheck 637 Compare ← Phi#630, ArrayLength#562 Lt Bool 638 Test ← Compare#637 → block 49, block 54 1 0 Block 49 645 Elements ← GuardShape#644 Elements 646 InitializedLength ← Elements#645 Int32 647 BoundsCheck ← Phi#630, InitializedLength#646 Int32 648 SpectreMaskIndex ← BoundsCheck#647, InitializedLength#646 Int32 649 GuardElementNotHole ← Elements#645, SpectreMaskIndex#648 836 Goto → block 50 Block 50 664 GuardElementsArePacked ← Elements#645 665 LoadElement ← Elements#645, SpectreMaskIndex#648 Value 837 AssertClass ← Lambda#545 671 Goto → block 51 Block 51 676 MegamorphicLoadSlotByValue ← Unbox#675, LoadElement#665 Value 677 Goto → block 52 Block 52 684 Elements ← GuardShape#683 Elements 685 StoreElementHole ← GuardShape#683, Elements#684, Phi#630, MegamorphicLoadSlotByValue#676 686 Goto → block 53 Block 53 (backedge) 691 Add ← Phi#630, Constant#37 [int32] Int32 692 Goto → block 48 Block 54 695 GuardShape ← NewArrayDynamicLength#621 Object 698 Constant function complex5/< (-e:22) at 104289c63e40 Object 699 Lambda ← NewCallObject#519, Constant#698 Object 704 Call ← Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32 Value 705 Goto → block 55 Block 55 (backedge) 709 Add ← Phi#90, Constant#37 [int32] Int32 710 Box ← BitOr#134 Value 711 Goto → block 1 Block 56 712 Unbox Phi#85 to Double (fallible) Double 713 Unbox Phi#86 to Double (fallible) Double 714 Add ← Unbox#712, Unbox#713 [double] Double 715 Unbox Phi#87 to Double (fallible) Double 716 Add ← Add#714, Unbox#715 [double] Double 717 Unbox Phi#88 to Double (fallible) Double 718 Add ← Add#716, Unbox#717 [double] Double 719 Unbox Phi#89 to Double (fallible) Double 720 Add ← Add#718, Unbox#719 [double] Double 721 Box ← Add#720 Value 722 Return ← Box#721
Block 0 805 Constant magic optimized-out MagicOptimizedOut 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant magic uninitialized-lexical MagicUninitializedLexical 8 Constant function complex1 (-e:2) at 104289c6c8c8 Object 13 Call ← Constant#8, Constant#2, Parameter#1 Value 16 Constant function complex2 (-e:7) at 104289c6c970 Object 21 Call ← Constant#16, Constant#2, Parameter#1 Value 24 Constant function complex3 (-e:11) at 104289c6c938 Object 29 Call ← Constant#24, Constant#2, Parameter#1, Call#13 Value 30 Constant shape at 104289c64f00 Shape 31 NewArrayObject ← Constant#30 Object 32 Constant 0x0 Int32 33 Elements ← NewArrayObject#31 Elements 34 PostWriteBarrier ← NewArrayObject#31, Call#13 35 StoreElement ← Elements#33, Constant#32, Call#13 36 SetInitializedLength ← Elements#33, Constant#32 37 Constant 0x1 Int32 38 Elements ← NewArrayObject#31 Elements 39 PostWriteBarrier ← NewArrayObject#31, Call#21 40 StoreElement ← Elements#38, Constant#37, Call#21 41 SetInitializedLength ← Elements#38, Constant#37 42 Constant 0x2 Int32 43 Elements ← NewArrayObject#31 Elements 44 PostWriteBarrier ← NewArrayObject#31, Call#29 45 StoreElement ← Elements#43, Constant#42, Call#29 46 SetInitializedLength ← Elements#43, Constant#42 47 Constant 0x3 Int32 48 Elements ← NewArrayObject#31 Elements 49 PostWriteBarrier ← NewArrayObject#31, Parameter#1 50 StoreElement ← Elements#48, Constant#47, Parameter#1 51 SetInitializedLength ← Elements#48, Constant#47 54 Constant function complex4 (-e:17) at 104289c6c890 Object 59 Call ← Constant#54, Constant#2, NewArrayObject#31 Value 60 Constant shape at 104289c64fa0 Shape 61 NewPlainObject ← Constant#60 Object 62 GuardShape ← NewPlainObject#61 Object 63 PostWriteBarrier ← GuardShape#62, Call#13 64 StoreFixedSlot ← GuardShape#62, Call#13 (slot 0) 66 PostWriteBarrier ← GuardShape#62, Call#21 67 StoreFixedSlot ← GuardShape#62, Call#21 (slot 1) 69 PostWriteBarrier ← GuardShape#62, Call#29 70 StoreFixedSlot ← GuardShape#62, Call#29 (slot 2) 72 PostWriteBarrier ← GuardShape#62, Call#59 73 StoreFixedSlot ← GuardShape#62, Call#59 (slot 3) 76 Constant function complex5 (-e:21) at 104289c6c900 Object 81 Call ← Constant#76, Constant#2, NewPlainObject#61 Value 175 FunctionEnvironment ← Constant#54 Object 517 FunctionEnvironment ← Constant#76 Object 84 Goto → block 1 Block 1 (loop header) 85 Phi ← Call#13, Call#108 Value 86 Phi ← Call#21, Box#710 Value 87 Phi ← Call#29, Call#143 Value 88 Phi ← Call#59, Call#495 Value 89 Phi ← Call#81, Call#704 Value 90 Phi ← Constant#32, Add#709 Int32 91 InterruptCheck 92 Constant 0xa Int32 95 Compare ← Phi#90, Constant#92 Lt Bool 96 Test ← Compare#95 → block 2, block 56 1 0 Block 2 847 Beta ← Phi#90 F[?, 9] (U -Infinity U -0) Int32 101 Unbox Phi#85 to Double (fallible) Double 806 ToDouble ← Beta#847 Double 104 Add ← Unbox#101, ToDouble#806 [double] Double 108 Call ← Constant#8, Constant#2, Add#104 Value 113 Unbox Phi#86 to Int32 (fallible) Int32 116 Add ← Unbox#113, Beta#847 [int32] Int32 120 Goto → block 3 Block 3 123 Lsh ← Add#116, Constant#37 Int32 125 Rsh ← Add#116, Constant#37 Int32 126 Constant 0xff Int32 127 BitAnd ← Add#116, Constant#126 Int32 129 Ursh ← Add#116, Constant#42 Int32 130 Add ← BitAnd#127, Ursh#129 [int32] Int32 131 BitNot ← Add#116 Int32 132 Sub ← Add#130, BitNot#131 [int32] Int32 133 BitXor ← Rsh#125, Sub#132 Int32 134 BitOr ← Lsh#123, BitXor#133 Int32 135 Goto → block 4 Block 4 143 Call ← Constant#24, Constant#2, Phi#87, Call#108 Value 149 NewArrayObject ← Constant#30 Object 151 Elements ← NewArrayObject#149 Elements 152 PostWriteBarrier ← NewArrayObject#149, Call#108 153 StoreElement ← Elements#151, Constant#32, Call#108 154 SetInitializedLength ← Elements#151, Constant#32 156 Elements ← NewArrayObject#149 Elements 157 PostWriteBarrier ← NewArrayObject#149, BitOr#134 158 StoreElement ← Elements#156, Constant#37, BitOr#134 159 SetInitializedLength ← Elements#156, Constant#37 161 Elements ← NewArrayObject#149 Elements 162 PostWriteBarrier ← NewArrayObject#149, Call#143 163 StoreElement ← Elements#161, Constant#42, Call#143 164 SetInitializedLength ← Elements#161, Constant#42 166 Elements ← NewArrayObject#149 Elements 167 PostWriteBarrier ← NewArrayObject#149, Beta#847 168 StoreElement ← Elements#166, Constant#47, Beta#847 169 SetInitializedLength ← Elements#166, Constant#47 173 Goto → block 5 Block 5 176 GuardShape ← NewArrayObject#149 Object 178 Constant function map (self-hosted:163) at 104289c47920 Object 179 Constant function complex4/< (-e:18) at 104289c63d28 Object 180 Lambda ← FunctionEnvironment#175, Constant#179 Object 184 Goto → block 6 Block 6 186 Constant function ToObject at 104289c6c740 Object 187 Box ← Constant#186 Value 188 DebugCheckSelfHosted ← Box#187 Value 191 Constant function ToLength at 104289c6c778 Object 192 Box ← Constant#191 Value 193 DebugCheckSelfHosted ← Box#192 Value 195 GuardShape ← NewArrayObject#149 Object 196 Elements ← GuardShape#195 Elements 197 ArrayLength ← Elements#196 Int32 808 Goto → block 7 Block 7 213 Constant function IsCallable at 104289c6c7b0 Object 214 Box ← Constant#213 Value 215 DebugCheckSelfHosted ← Box#214 Value 809 AssertClass ← Lambda#180 811 Goto → block 8 Block 8 813 Goto → block 9 Block 9 238 Box ← Constant#2 Value 239 Goto → block 10 Block 10 241 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 242 Box ← Constant#241 Value 243 DebugCheckSelfHosted ← Box#242 Value 246 HasShape ← NewArrayObject#149 Bool 247 Test ← HasShape#246 → block 11, block 12 1 0 Block 11 248 Constant function std_Array at 104289c6c820 Object 249 Box ← Constant#248 Value 250 DebugCheckSelfHosted ← Box#249 Value 253 Unbox DebugCheckSelfHosted#250 to Object (fallible) Object 255 GuardSpecificFunction ← Unbox#253, Constant#248 Object 256 NewArrayDynamicLength ← ArrayLength#197 Object 257 Goto → block 13 Block 12 258 CallGetIntrinsicValue Value 259 DebugCheckSelfHosted ← CallGetIntrinsicValue#258 Value 261 Bail 262 Unreachable Block 13 279 GuardShape ← NewArrayObject#149 Object 816 Constant 2 Double 318 GuardShape ← NewArrayDynamicLength#256 Object 264 Goto → block 14 Block 14 (loop header) 265 Phi ← Constant#32, Add#326 Int32 267 InterruptCheck 272 Compare ← Phi#265, ArrayLength#197 Lt Bool 273 Test ← Compare#272 → block 15, block 20 1 0 Block 15 846 Beta ← ArrayLength#197 I[-2147483647, 2147483647] Int32 845 Beta ← Phi#265 I[-2147483648, 2147483646] Int32 280 Elements ← GuardShape#279 Elements 281 InitializedLength ← Elements#280 Int32 282 BoundsCheck ← Beta#845, InitializedLength#281 Int32 283 SpectreMaskIndex ← BoundsCheck#282, InitializedLength#281 Int32 284 GuardElementNotHole ← Elements#280, SpectreMaskIndex#283 814 Goto → block 16 Block 16 299 GuardElementsArePacked ← Elements#280 300 LoadElement ← Elements#280, SpectreMaskIndex#283 Value 815 AssertClass ← Lambda#180 306 Goto → block 17 Block 17 309 Unbox LoadElement#300 to Double (fallible) Double 311 Mul ← Unbox#309, Constant#816 [double] Double 312 Goto → block 18 Block 18 319 Elements ← GuardShape#318 Elements 320 StoreElementHole ← GuardShape#318, Elements#319, Beta#845, Mul#311 321 Goto → block 19 Block 19 (backedge) 326 Add ← Beta#845, Constant#37 [int32] Int32 327 Goto → block 14 Block 20 330 GuardShape ← NewArrayDynamicLength#256 Object 332 Constant function filter (self-hosted:183) at 104289c47970 Object 333 Constant function complex4/< (-e:18) at 104289c63d60 Object 334 Lambda ← FunctionEnvironment#175, Constant#333 Object 338 Goto → block 21 Block 21 342 DebugCheckSelfHosted ← Box#187 Value 349 DebugCheckSelfHosted ← Box#192 Value 351 GuardShape ← NewArrayDynamicLength#256 Object 352 Elements ← GuardShape#351 Elements 353 ArrayLength ← Elements#352 Int32 818 Goto → block 22 Block 22 371 DebugCheckSelfHosted ← Box#214 Value 819 AssertClass ← Lambda#334 821 Goto → block 23 Block 23 823 Goto → block 24 Block 24 395 Goto → block 25 Block 25 399 DebugCheckSelfHosted ← Box#242 Value 402 HasShape ← NewArrayDynamicLength#256 Bool 403 Test ← HasShape#402 → block 26, block 27 1 0 Block 26 405 NewArrayObject ← Constant#30 Object 406 Goto → block 28 Block 27 407 CallGetIntrinsicValue Value 408 DebugCheckSelfHosted ← CallGetIntrinsicValue#407 Value 411 Bail 412 Unreachable Block 28 431 GuardShape ← NewArrayDynamicLength#256 Object 826 Constant 50 Double 473 GuardShape ← NewArrayObject#405 Object 415 Goto → block 29 Block 29 (loop header) 416 Phi ← Constant#32, Add#482 Int32 417 Phi ← Constant#32, Phi#477 Int32 419 InterruptCheck 424 Compare ← Phi#416, ArrayLength#353 Lt Bool 425 Test ← Compare#424 → block 30, block 37 1 0 Block 30 844 Beta ← ArrayLength#353 I[-2147483647, 2147483647] Int32 843 Beta ← Phi#416 I[-2147483648, 2147483646] Int32 432 Elements ← GuardShape#431 Elements 433 InitializedLength ← Elements#432 Int32 434 BoundsCheck ← Beta#843, InitializedLength#433 Int32 435 SpectreMaskIndex ← BoundsCheck#434, InitializedLength#433 Int32 436 GuardElementNotHole ← Elements#432, SpectreMaskIndex#435 824 Goto → block 31 Block 31 451 GuardElementsArePacked ← Elements#432 452 LoadElement ← Elements#432, SpectreMaskIndex#435 Value 825 AssertClass ← Lambda#334 458 Goto → block 32 Block 32 461 Unbox LoadElement#452 to Double (fallible) Double 463 Compare ← Unbox#461, Constant#826 Gt Bool 464 Goto → block 33 Block 33 465 Test ← Compare#463 → block 35, block 34 1 0 Block 34 (split edge) 842 Beta ← Unbox#461 F[?, 50] (U NaN U -Infinity U -0) Double 466 Goto → block 36 Block 35 841 Beta ← Unbox#461 F[50, ?] (U Infinity) Double 470 Add ← Phi#417, Constant#37 [int32] Int32 474 Elements ← GuardShape#473 Elements 475 StoreElementHole ← GuardShape#473, Elements#474, Phi#417, LoadElement#452 476 Goto → block 36 Block 36 (backedge) 477 Phi ← Add#470, Phi#417 Int32 482 Add ← Beta#843, Constant#37 [int32] Int32 483 Goto → block 29 Block 37 486 GuardShape ← NewArrayObject#405 Object 488 Constant function reduce (self-hosted:205) at 104289c479c0 Object 489 Constant function complex4/< (-e:18) at 104289c63d98 Object 490 Lambda ← FunctionEnvironment#175, Constant#489 Object 495 Call ← Constant#488, NewArrayObject#405, Lambda#490, Constant#32 Value 496 Goto → block 38 Block 38 501 Constant shape at 104289c64fc0 Shape 502 NewPlainObject ← Constant#501 Object 503 GuardShape ← NewPlainObject#502 Object 504 PostWriteBarrier ← GuardShape#503, Call#108 505 StoreFixedSlot ← GuardShape#503, Call#108 (slot 0) 507 PostWriteBarrier ← GuardShape#503, BitOr#134 508 StoreFixedSlot ← GuardShape#503, BitOr#134 (slot 1) 510 PostWriteBarrier ← GuardShape#503, Call#143 511 StoreFixedSlot ← GuardShape#503, Call#143 (slot 2) 515 Goto → block 39 Block 39 518 Constant object 104289c3f078 (Call) Object 519 NewCallObject ← Constant#518 Object 520 Box ← FunctionEnvironment#517 Value 521 AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#520 522 Box ← Constant#76 Value 523 AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#522 524 StoreFixedSlot ← NewCallObject#519, FunctionEnvironment#517 (slot 0) 525 StoreFixedSlot ← NewCallObject#519, Constant#76 (slot 1) 526 PostWriteBarrier ← NewCallObject#519, NewPlainObject#502 527 StoreFixedSlot ← NewCallObject#519, NewPlainObject#502 (slot 2) 828 AssertClass ← NewPlainObject#502 540 ObjectKeys ← NewPlainObject#502 Object 541 GuardShape ← ObjectKeys#540 Object 544 Constant function complex5/< (-e:22) at 104289c63e08 Object 545 Lambda ← NewCallObject#519, Constant#544 Object 549 Goto → block 40 Block 40 553 DebugCheckSelfHosted ← Box#187 Value 558 DebugCheckSelfHosted ← Box#192 Value 560 GuardShape ← ObjectKeys#540 Object 561 Elements ← GuardShape#560 Elements 562 ArrayLength ← Elements#561 Int32 830 Goto → block 41 Block 41 580 DebugCheckSelfHosted ← Box#214 Value 831 AssertClass ← Lambda#545 833 Goto → block 42 Block 42 835 Goto → block 43 Block 43 604 Goto → block 44 Block 44 608 DebugCheckSelfHosted ← Box#242 Value 611 HasShape ← ObjectKeys#540 Bool 612 Test ← HasShape#611 → block 45, block 46 1 0 Block 45 615 DebugCheckSelfHosted ← Box#249 Value 618 Unbox DebugCheckSelfHosted#615 to Object (fallible) Object 620 GuardSpecificFunction ← Unbox#618, Constant#248 Object 621 NewArrayDynamicLength ← ArrayLength#562 Object 622 Goto → block 47 Block 46 623 CallGetIntrinsicValue Value 624 DebugCheckSelfHosted ← CallGetIntrinsicValue#623 Value 626 Bail 627 Unreachable Block 47 644 GuardShape ← ObjectKeys#540 Object 674 LoadFixedSlot ← NewCallObject#519 (slot 2) Value 675 Unbox LoadFixedSlot#674 to Object (fallible) Object 683 GuardShape ← NewArrayDynamicLength#621 Object 629 Goto → block 48 Block 48 (loop header) 630 Phi ← Constant#32, Add#691 Int32 632 InterruptCheck 637 Compare ← Phi#630, ArrayLength#562 Lt Bool 638 Test ← Compare#637 → block 49, block 54 1 0 Block 49 840 Beta ← ArrayLength#562 I[-2147483647, 2147483647] Int32 839 Beta ← Phi#630 I[-2147483648, 2147483646] Int32 645 Elements ← GuardShape#644 Elements 646 InitializedLength ← Elements#645 Int32 647 BoundsCheck ← Beta#839, InitializedLength#646 Int32 648 SpectreMaskIndex ← BoundsCheck#647, InitializedLength#646 Int32 649 GuardElementNotHole ← Elements#645, SpectreMaskIndex#648 836 Goto → block 50 Block 50 664 GuardElementsArePacked ← Elements#645 665 LoadElement ← Elements#645, SpectreMaskIndex#648 Value 837 AssertClass ← Lambda#545 671 Goto → block 51 Block 51 676 MegamorphicLoadSlotByValue ← Unbox#675, LoadElement#665 Value 677 Goto → block 52 Block 52 684 Elements ← GuardShape#683 Elements 685 StoreElementHole ← GuardShape#683, Elements#684, Beta#839, MegamorphicLoadSlotByValue#676 686 Goto → block 53 Block 53 (backedge) 691 Add ← Beta#839, Constant#37 [int32] Int32 692 Goto → block 48 Block 54 695 GuardShape ← NewArrayDynamicLength#621 Object 698 Constant function complex5/< (-e:22) at 104289c63e40 Object 699 Lambda ← NewCallObject#519, Constant#698 Object 704 Call ← Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32 Value 705 Goto → block 55 Block 55 (backedge) 709 Add ← Beta#847, Constant#37 [int32] Int32 710 Box ← BitOr#134 Value 711 Goto → block 1 Block 56 838 Beta ← Phi#90 F[10, ?] (U NaN U Infinity) Int32 712 Unbox Phi#85 to Double (fallible) Double 713 Unbox Phi#86 to Double (fallible) Double 714 Add ← Unbox#712, Unbox#713 [double] Double 715 Unbox Phi#87 to Double (fallible) Double 716 Add ← Add#714, Unbox#715 [double] Double 717 Unbox Phi#88 to Double (fallible) Double 718 Add ← Add#716, Unbox#717 [double] Double 719 Unbox Phi#89 to Double (fallible) Double 720 Add ← Add#718, Unbox#719 [double] Double 721 Box ← Add#720 Value 722 Return ← Box#721
Block 0 805 Constant magic optimized-out MagicOptimizedOut 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant magic uninitialized-lexical MagicUninitializedLexical 8 Constant function complex1 (-e:2) at 104289c6c8c8 Object 13 Call ← Constant#8, Constant#2, Parameter#1 Value 16 Constant function complex2 (-e:7) at 104289c6c970 Object 21 Call ← Constant#16, Constant#2, Parameter#1 Value 24 Constant function complex3 (-e:11) at 104289c6c938 Object 29 Call ← Constant#24, Constant#2, Parameter#1, Call#13 Value 30 Constant shape at 104289c64f00 Shape 31 NewArrayObject ← Constant#30 Object 32 Constant 0x0 I[0, 0]: Int32 33 Elements ← NewArrayObject#31 Elements 34 PostWriteBarrier ← NewArrayObject#31, Call#13 35 StoreElement ← Elements#33, Constant#32, Call#13 36 SetInitializedLength ← Elements#33, Constant#32 37 Constant 0x1 I[1, 1]: Int32 38 Elements ← NewArrayObject#31 Elements 39 PostWriteBarrier ← NewArrayObject#31, Call#21 40 StoreElement ← Elements#38, Constant#37, Call#21 41 SetInitializedLength ← Elements#38, Constant#37 42 Constant 0x2 I[2, 2]: Int32 43 Elements ← NewArrayObject#31 Elements 44 PostWriteBarrier ← NewArrayObject#31, Call#29 45 StoreElement ← Elements#43, Constant#42, Call#29 46 SetInitializedLength ← Elements#43, Constant#42 47 Constant 0x3 I[3, 3]: Int32 48 Elements ← NewArrayObject#31 Elements 49 PostWriteBarrier ← NewArrayObject#31, Parameter#1 50 StoreElement ← Elements#48, Constant#47, Parameter#1 51 SetInitializedLength ← Elements#48, Constant#47 54 Constant function complex4 (-e:17) at 104289c6c890 Object 59 Call ← Constant#54, Constant#2, NewArrayObject#31 Value 60 Constant shape at 104289c64fa0 Shape 61 NewPlainObject ← Constant#60 Object 62 GuardShape ← NewPlainObject#61 Object 63 PostWriteBarrier ← GuardShape#62, Call#13 64 StoreFixedSlot ← GuardShape#62, Call#13 (slot 0) 66 PostWriteBarrier ← GuardShape#62, Call#21 67 StoreFixedSlot ← GuardShape#62, Call#21 (slot 1) 69 PostWriteBarrier ← GuardShape#62, Call#29 70 StoreFixedSlot ← GuardShape#62, Call#29 (slot 2) 72 PostWriteBarrier ← GuardShape#62, Call#59 73 StoreFixedSlot ← GuardShape#62, Call#59 (slot 3) 76 Constant function complex5 (-e:21) at 104289c6c900 Object 81 Call ← Constant#76, Constant#2, NewPlainObject#61 Value 175 FunctionEnvironment ← Constant#54 Object 517 FunctionEnvironment ← Constant#76 Object 84 Goto → block 1 Block 1 (loop header) 85 Phi ← Call#13, Call#108 Value 86 Phi ← Call#21, Box#710 Value 87 Phi ← Call#29, Call#143 Value 88 Phi ← Call#59, Call#495 Value 89 Phi ← Call#81, Call#704 Value 90 Phi ← Constant#32, Add#709 I[0 {}, 2147483647 {[loop] +9}]: Int32 91 InterruptCheck 92 Constant 0xa I[10, 10]: Int32 95 Compare ← Phi#90, Constant#92 Lt Bool 96 Test ← Compare#95 → block 2, block 56 1 0 Block 2 847 Beta ← Phi#90 F[?, 9] (U -Infinity U -0) I[0, 9] (U -0): Int32 101 Unbox Phi#85 to Double (fallible) Double 806 ToDouble ← Beta#847 I[0, 9]: Double 104 Add ← Unbox#101, ToDouble#806 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 108 Call ← Constant#8, Constant#2, Add#104 Value 113 Unbox Phi#86 to Int32 (fallible) Int32 116 Add ← Unbox#113, Beta#847 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32 120 Goto → block 3 Block 3 123 Lsh ← Add#116, Constant#37 I[-2147483648, 2147483647]: Int32 125 Rsh ← Add#116, Constant#37 I[-1073741824, 1073741823]: Int32 126 Constant 0xff I[255, 255]: Int32 127 BitAnd ← Add#116, Constant#126 I[0, 255]: Int32 129 Ursh ← Add#116, Constant#42 I[0, 1073741823]: Int32 130 Add ← BitAnd#127, Ursh#129 [int32] I[0, 1073742078]: Int32 131 BitNot ← Add#116 I[-2147483648, 2147483647]: Int32 132 Sub ← Add#130, BitNot#131 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 133 BitXor ← Rsh#125, Sub#132 I[-2147483648, 2147483647]: Int32 134 BitOr ← Lsh#123, BitXor#133 I[-2147483648, 2147483647]: Int32 135 Goto → block 4 Block 4 143 Call ← Constant#24, Constant#2, Phi#87, Call#108 Value 149 NewArrayObject ← Constant#30 Object 151 Elements ← NewArrayObject#149 Elements 152 PostWriteBarrier ← NewArrayObject#149, Call#108 153 StoreElement ← Elements#151, Constant#32, Call#108 154 SetInitializedLength ← Elements#151, Constant#32 156 Elements ← NewArrayObject#149 Elements 157 PostWriteBarrier ← NewArrayObject#149, BitOr#134 158 StoreElement ← Elements#156, Constant#37, BitOr#134 159 SetInitializedLength ← Elements#156, Constant#37 161 Elements ← NewArrayObject#149 Elements 162 PostWriteBarrier ← NewArrayObject#149, Call#143 163 StoreElement ← Elements#161, Constant#42, Call#143 164 SetInitializedLength ← Elements#161, Constant#42 166 Elements ← NewArrayObject#149 Elements 167 PostWriteBarrier ← NewArrayObject#149, Beta#847 168 StoreElement ← Elements#166, Constant#47, Beta#847 169 SetInitializedLength ← Elements#166, Constant#47 173 Goto → block 5 Block 5 176 GuardShape ← NewArrayObject#149 Object 178 Constant function map (self-hosted:163) at 104289c47920 Object 179 Constant function complex4/< (-e:18) at 104289c63d28 Object 180 Lambda ← FunctionEnvironment#175, Constant#179 Object 184 Goto → block 6 Block 6 186 Constant function ToObject at 104289c6c740 Object 187 Box ← Constant#186 Value 188 DebugCheckSelfHosted ← Box#187 Value 191 Constant function ToLength at 104289c6c778 Object 192 Box ← Constant#191 Value 193 DebugCheckSelfHosted ← Box#192 Value 195 GuardShape ← NewArrayObject#149 Object 196 Elements ← GuardShape#195 Elements 197 ArrayLength ← Elements#196 I[0, 2147483647]: Int32 808 Goto → block 7 Block 7 213 Constant function IsCallable at 104289c6c7b0 Object 214 Box ← Constant#213 Value 215 DebugCheckSelfHosted ← Box#214 Value 809 AssertClass ← Lambda#180 811 Goto → block 8 Block 8 813 Goto → block 9 Block 9 238 Box ← Constant#2 Value 239 Goto → block 10 Block 10 241 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 242 Box ← Constant#241 Value 243 DebugCheckSelfHosted ← Box#242 Value 246 HasShape ← NewArrayObject#149 Bool 247 Test ← HasShape#246 → block 11, block 12 1 0 Block 11 248 Constant function std_Array at 104289c6c820 Object 249 Box ← Constant#248 Value 250 DebugCheckSelfHosted ← Box#249 Value 253 Unbox DebugCheckSelfHosted#250 to Object (fallible) Object 255 GuardSpecificFunction ← Unbox#253, Constant#248 Object 256 NewArrayDynamicLength ← ArrayLength#197 Object 257 Goto → block 13 Block 12 258 CallGetIntrinsicValue Value 259 DebugCheckSelfHosted ← CallGetIntrinsicValue#258 Value 261 Bail 262 Unreachable Block 13 279 GuardShape ← NewArrayObject#149 Object 816 Constant 2 I[2, 2]: Double 318 GuardShape ← NewArrayDynamicLength#256 Object 264 Goto → block 14 Block 14 (loop header) 265 Phi ← Constant#32, Add#326 I[0 {}, 2147483647 {[loop] #197-1}]: Int32 267 InterruptCheck 272 Compare ← Phi#265, ArrayLength#197 Lt Bool 273 Test ← Compare#272 → block 15, block 20 1 0 Block 15 846 Beta ← ArrayLength#197 I[-2147483647, 2147483647] I[0, 2147483647]: Int32 845 Beta ← Phi#265 I[-2147483648, 2147483646] I[0, 2147483646]: Int32 280 Elements ← GuardShape#279 Elements 281 InitializedLength ← Elements#280 I[0, 268435453]: Int32 282 BoundsCheck ← Beta#845, InitializedLength#281 I[0, 2147483646]: Int32 283 SpectreMaskIndex ← BoundsCheck#282, InitializedLength#281 I[0, 2147483646]: Int32 284 GuardElementNotHole ← Elements#280, SpectreMaskIndex#283 814 Goto → block 16 Block 16 299 GuardElementsArePacked ← Elements#280 300 LoadElement ← Elements#280, SpectreMaskIndex#283 Value 815 AssertClass ← Lambda#180 306 Goto → block 17 Block 17 309 Unbox LoadElement#300 to Double (fallible) Double 311 Mul ← Unbox#309, Constant#816 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 312 Goto → block 18 Block 18 319 Elements ← GuardShape#318 Elements 320 StoreElementHole ← GuardShape#318, Elements#319, Beta#845, Mul#311 321 Goto → block 19 Block 19 (backedge) 326 Add ← Beta#845, Constant#37 [int32] I[1, 2147483647]: Int32 327 Goto → block 14 Block 20 330 GuardShape ← NewArrayDynamicLength#256 Object 332 Constant function filter (self-hosted:183) at 104289c47970 Object 333 Constant function complex4/< (-e:18) at 104289c63d60 Object 334 Lambda ← FunctionEnvironment#175, Constant#333 Object 338 Goto → block 21 Block 21 342 DebugCheckSelfHosted ← Box#187 Value 349 DebugCheckSelfHosted ← Box#192 Value 351 GuardShape ← NewArrayDynamicLength#256 Object 352 Elements ← GuardShape#351 Elements 353 ArrayLength ← Elements#352 I[0, 2147483647]: Int32 818 Goto → block 22 Block 22 371 DebugCheckSelfHosted ← Box#214 Value 819 AssertClass ← Lambda#334 821 Goto → block 23 Block 23 823 Goto → block 24 Block 24 395 Goto → block 25 Block 25 399 DebugCheckSelfHosted ← Box#242 Value 402 HasShape ← NewArrayDynamicLength#256 Bool 403 Test ← HasShape#402 → block 26, block 27 1 0 Block 26 405 NewArrayObject ← Constant#30 Object 406 Goto → block 28 Block 27 407 CallGetIntrinsicValue Value 408 DebugCheckSelfHosted ← CallGetIntrinsicValue#407 Value 411 Bail 412 Unreachable Block 28 431 GuardShape ← NewArrayDynamicLength#256 Object 826 Constant 50 I[50, 50]: Double 473 GuardShape ← NewArrayObject#405 Object 415 Goto → block 29 Block 29 (loop header) 416 Phi ← Constant#32, Add#482 I[0 {}, 2147483647 {[loop] #353-1}]: Int32 417 Phi ← Constant#32, Phi#477 Int32 419 InterruptCheck 424 Compare ← Phi#416, ArrayLength#353 Lt Bool 425 Test ← Compare#424 → block 30, block 37 1 0 Block 30 844 Beta ← ArrayLength#353 I[-2147483647, 2147483647] I[0, 2147483647]: Int32 843 Beta ← Phi#416 I[-2147483648, 2147483646] I[0, 2147483646]: Int32 432 Elements ← GuardShape#431 Elements 433 InitializedLength ← Elements#432 I[0, 268435453]: Int32 434 BoundsCheck ← Beta#843, InitializedLength#433 I[0, 2147483646]: Int32 435 SpectreMaskIndex ← BoundsCheck#434, InitializedLength#433 I[0, 2147483646]: Int32 436 GuardElementNotHole ← Elements#432, SpectreMaskIndex#435 824 Goto → block 31 Block 31 451 GuardElementsArePacked ← Elements#432 452 LoadElement ← Elements#432, SpectreMaskIndex#435 Value 825 AssertClass ← Lambda#334 458 Goto → block 32 Block 32 461 Unbox LoadElement#452 to Double (fallible) Double 463 Compare ← Unbox#461, Constant#826 Gt Bool 464 Goto → block 33 Block 33 465 Test ← Compare#463 → block 35, block 34 1 0 Block 34 (split edge) 842 Beta ← Unbox#461 F[?, 50] (U NaN U -Infinity U -0) F[?, 50] (U NaN U -Infinity U -0): Double 466 Goto → block 36 Block 35 841 Beta ← Unbox#461 F[50, ?] (U Infinity) F[50, ?] (U Infinity): Double 470 Add ← Phi#417, Constant#37 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 474 Elements ← GuardShape#473 Elements 475 StoreElementHole ← GuardShape#473, Elements#474, Phi#417, LoadElement#452 476 Goto → block 36 Block 36 (backedge) 477 Phi ← Add#470, Phi#417 Int32 482 Add ← Beta#843, Constant#37 [int32] I[1, 2147483647]: Int32 483 Goto → block 29 Block 37 486 GuardShape ← NewArrayObject#405 Object 488 Constant function reduce (self-hosted:205) at 104289c479c0 Object 489 Constant function complex4/< (-e:18) at 104289c63d98 Object 490 Lambda ← FunctionEnvironment#175, Constant#489 Object 495 Call ← Constant#488, NewArrayObject#405, Lambda#490, Constant#32 Value 496 Goto → block 38 Block 38 501 Constant shape at 104289c64fc0 Shape 502 NewPlainObject ← Constant#501 Object 503 GuardShape ← NewPlainObject#502 Object 504 PostWriteBarrier ← GuardShape#503, Call#108 505 StoreFixedSlot ← GuardShape#503, Call#108 (slot 0) 507 PostWriteBarrier ← GuardShape#503, BitOr#134 508 StoreFixedSlot ← GuardShape#503, BitOr#134 (slot 1) 510 PostWriteBarrier ← GuardShape#503, Call#143 511 StoreFixedSlot ← GuardShape#503, Call#143 (slot 2) 515 Goto → block 39 Block 39 518 Constant object 104289c3f078 (Call) Object 519 NewCallObject ← Constant#518 Object 520 Box ← FunctionEnvironment#517 Value 521 AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#520 522 Box ← Constant#76 Value 523 AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#522 524 StoreFixedSlot ← NewCallObject#519, FunctionEnvironment#517 (slot 0) 525 StoreFixedSlot ← NewCallObject#519, Constant#76 (slot 1) 526 PostWriteBarrier ← NewCallObject#519, NewPlainObject#502 527 StoreFixedSlot ← NewCallObject#519, NewPlainObject#502 (slot 2) 828 AssertClass ← NewPlainObject#502 540 ObjectKeys ← NewPlainObject#502 Object 541 GuardShape ← ObjectKeys#540 Object 544 Constant function complex5/< (-e:22) at 104289c63e08 Object 545 Lambda ← NewCallObject#519, Constant#544 Object 549 Goto → block 40 Block 40 553 DebugCheckSelfHosted ← Box#187 Value 558 DebugCheckSelfHosted ← Box#192 Value 560 GuardShape ← ObjectKeys#540 Object 561 Elements ← GuardShape#560 Elements 562 ArrayLength ← Elements#561 I[0, 2147483647]: Int32 830 Goto → block 41 Block 41 580 DebugCheckSelfHosted ← Box#214 Value 831 AssertClass ← Lambda#545 833 Goto → block 42 Block 42 835 Goto → block 43 Block 43 604 Goto → block 44 Block 44 608 DebugCheckSelfHosted ← Box#242 Value 611 HasShape ← ObjectKeys#540 Bool 612 Test ← HasShape#611 → block 45, block 46 1 0 Block 45 615 DebugCheckSelfHosted ← Box#249 Value 618 Unbox DebugCheckSelfHosted#615 to Object (fallible) Object 620 GuardSpecificFunction ← Unbox#618, Constant#248 Object 621 NewArrayDynamicLength ← ArrayLength#562 Object 622 Goto → block 47 Block 46 623 CallGetIntrinsicValue Value 624 DebugCheckSelfHosted ← CallGetIntrinsicValue#623 Value 626 Bail 627 Unreachable Block 47 644 GuardShape ← ObjectKeys#540 Object 674 LoadFixedSlot ← NewCallObject#519 (slot 2) Value 675 Unbox LoadFixedSlot#674 to Object (fallible) Object 683 GuardShape ← NewArrayDynamicLength#621 Object 629 Goto → block 48 Block 48 (loop header) 630 Phi ← Constant#32, Add#691 I[0 {}, 2147483647 {[loop] #562-1}]: Int32 632 InterruptCheck 637 Compare ← Phi#630, ArrayLength#562 Lt Bool 638 Test ← Compare#637 → block 49, block 54 1 0 Block 49 840 Beta ← ArrayLength#562 I[-2147483647, 2147483647] I[0, 2147483647]: Int32 839 Beta ← Phi#630 I[-2147483648, 2147483646] I[0, 2147483646]: Int32 645 Elements ← GuardShape#644 Elements 646 InitializedLength ← Elements#645 I[0, 268435453]: Int32 647 BoundsCheck ← Beta#839, InitializedLength#646 I[0, 2147483646]: Int32 648 SpectreMaskIndex ← BoundsCheck#647, InitializedLength#646 I[0, 2147483646]: Int32 649 GuardElementNotHole ← Elements#645, SpectreMaskIndex#648 836 Goto → block 50 Block 50 664 GuardElementsArePacked ← Elements#645 665 LoadElement ← Elements#645, SpectreMaskIndex#648 Value 837 AssertClass ← Lambda#545 671 Goto → block 51 Block 51 676 MegamorphicLoadSlotByValue ← Unbox#675, LoadElement#665 Value 677 Goto → block 52 Block 52 684 Elements ← GuardShape#683 Elements 685 StoreElementHole ← GuardShape#683, Elements#684, Beta#839, MegamorphicLoadSlotByValue#676 686 Goto → block 53 Block 53 (backedge) 691 Add ← Beta#839, Constant#37 [int32] I[1, 2147483647]: Int32 692 Goto → block 48 Block 54 695 GuardShape ← NewArrayDynamicLength#621 Object 698 Constant function complex5/< (-e:22) at 104289c63e40 Object 699 Lambda ← NewCallObject#519, Constant#698 Object 704 Call ← Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32 Value 705 Goto → block 55 Block 55 (backedge) 709 Add ← Beta#847, Constant#37 [int32] I[1, 10]: Int32 710 Box ← BitOr#134 Value 711 Goto → block 1 Block 56 838 Beta ← Phi#90 F[10, ?] (U NaN U Infinity) I[10, 2147483647]: Int32 712 Unbox Phi#85 to Double (fallible) Double 713 Unbox Phi#86 to Double (fallible) Double 714 Add ← Unbox#712, Unbox#713 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 715 Unbox Phi#87 to Double (fallible) Double 716 Add ← Add#714, Unbox#715 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 717 Unbox Phi#88 to Double (fallible) Double 718 Add ← Add#716, Unbox#717 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 719 Unbox Phi#89 to Double (fallible) Double 720 Add ← Add#718, Unbox#719 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 721 Box ← Add#720 Value 722 Return ← Box#721
Block 0 805 Constant magic optimized-out MagicOptimizedOut 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant magic uninitialized-lexical MagicUninitializedLexical 8 Constant function complex1 (-e:2) at 104289c6c8c8 Object 13 Call ← Constant#8, Constant#2, Parameter#1 Value 16 Constant function complex2 (-e:7) at 104289c6c970 Object 21 Call ← Constant#16, Constant#2, Parameter#1 Value 24 Constant function complex3 (-e:11) at 104289c6c938 Object 29 Call ← Constant#24, Constant#2, Parameter#1, Call#13 Value 30 Constant shape at 104289c64f00 Shape 31 NewArrayObject ← Constant#30 Object 32 Constant 0x0 I[0, 0]: Int32 33 Elements ← NewArrayObject#31 Elements 34 PostWriteBarrier ← NewArrayObject#31, Call#13 35 StoreElement ← Elements#33, Constant#32, Call#13 36 SetInitializedLength ← Elements#33, Constant#32 37 Constant 0x1 I[1, 1]: Int32 38 Elements ← NewArrayObject#31 Elements 39 PostWriteBarrier ← NewArrayObject#31, Call#21 40 StoreElement ← Elements#38, Constant#37, Call#21 41 SetInitializedLength ← Elements#38, Constant#37 42 Constant 0x2 I[2, 2]: Int32 43 Elements ← NewArrayObject#31 Elements 44 PostWriteBarrier ← NewArrayObject#31, Call#29 45 StoreElement ← Elements#43, Constant#42, Call#29 46 SetInitializedLength ← Elements#43, Constant#42 47 Constant 0x3 I[3, 3]: Int32 48 Elements ← NewArrayObject#31 Elements 49 PostWriteBarrier ← NewArrayObject#31, Parameter#1 50 StoreElement ← Elements#48, Constant#47, Parameter#1 51 SetInitializedLength ← Elements#48, Constant#47 54 Constant function complex4 (-e:17) at 104289c6c890 Object 59 Call ← Constant#54, Constant#2, NewArrayObject#31 Value 60 Constant shape at 104289c64fa0 Shape 61 NewPlainObject ← Constant#60 Object 62 GuardShape ← NewPlainObject#61 Object 63 PostWriteBarrier ← GuardShape#62, Call#13 64 StoreFixedSlot ← GuardShape#62, Call#13 (slot 0) 66 PostWriteBarrier ← GuardShape#62, Call#21 67 StoreFixedSlot ← GuardShape#62, Call#21 (slot 1) 69 PostWriteBarrier ← GuardShape#62, Call#29 70 StoreFixedSlot ← GuardShape#62, Call#29 (slot 2) 72 PostWriteBarrier ← GuardShape#62, Call#59 73 StoreFixedSlot ← GuardShape#62, Call#59 (slot 3) 76 Constant function complex5 (-e:21) at 104289c6c900 Object 81 Call ← Constant#76, Constant#2, NewPlainObject#61 Value 175 FunctionEnvironment ← Constant#54 Object 517 FunctionEnvironment ← Constant#76 Object 84 Goto → block 1 Block 1 (loop header) 85 Phi ← Call#13, Call#108 Value 86 Phi ← Call#21, Box#710 Value 87 Phi ← Call#29, Call#143 Value 88 Phi ← Call#59, Call#495 Value 89 Phi ← Call#81, Call#704 Value 90 Phi ← Constant#32, Add#709 I[0 {}, 2147483647 {[loop] +9}]: Int32 91 InterruptCheck 92 Constant 0xa I[10, 10]: Int32 95 Compare ← Phi#90, Constant#92 Lt Bool 96 Test ← Compare#95 → block 2, block 56 1 0 Block 2 101 Unbox Phi#85 to Double (fallible) Double 806 ToDouble ← Phi#90 I[0, 9]: Double 104 Add ← Unbox#101, ToDouble#806 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 108 Call ← Constant#8, Constant#2, Add#104 Value 113 Unbox Phi#86 to Int32 (fallible) Int32 116 Add ← Unbox#113, Phi#90 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32 120 Goto → block 3 Block 3 123 Lsh ← Add#116, Constant#37 I[-2147483648, 2147483647]: Int32 125 Rsh ← Add#116, Constant#37 I[-1073741824, 1073741823]: Int32 126 Constant 0xff I[255, 255]: Int32 127 BitAnd ← Add#116, Constant#126 I[0, 255]: Int32 129 Ursh ← Add#116, Constant#42 I[0, 1073741823]: Int32 130 Add ← BitAnd#127, Ursh#129 [int32] I[0, 1073742078]: Int32 131 BitNot ← Add#116 I[-2147483648, 2147483647]: Int32 132 Sub ← Add#130, BitNot#131 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 133 BitXor ← Rsh#125, Sub#132 I[-2147483648, 2147483647]: Int32 134 BitOr ← Lsh#123, BitXor#133 I[-2147483648, 2147483647]: Int32 135 Goto → block 4 Block 4 143 Call ← Constant#24, Constant#2, Phi#87, Call#108 Value 149 NewArrayObject ← Constant#30 Object 151 Elements ← NewArrayObject#149 Elements 152 PostWriteBarrier ← NewArrayObject#149, Call#108 153 StoreElement ← Elements#151, Constant#32, Call#108 154 SetInitializedLength ← Elements#151, Constant#32 156 Elements ← NewArrayObject#149 Elements 157 PostWriteBarrier ← NewArrayObject#149, BitOr#134 158 StoreElement ← Elements#156, Constant#37, BitOr#134 159 SetInitializedLength ← Elements#156, Constant#37 161 Elements ← NewArrayObject#149 Elements 162 PostWriteBarrier ← NewArrayObject#149, Call#143 163 StoreElement ← Elements#161, Constant#42, Call#143 164 SetInitializedLength ← Elements#161, Constant#42 166 Elements ← NewArrayObject#149 Elements 167 PostWriteBarrier ← NewArrayObject#149, Phi#90 168 StoreElement ← Elements#166, Constant#47, Phi#90 169 SetInitializedLength ← Elements#166, Constant#47 173 Goto → block 5 Block 5 176 GuardShape ← NewArrayObject#149 Object 178 Constant function map (self-hosted:163) at 104289c47920 Object 179 Constant function complex4/< (-e:18) at 104289c63d28 Object 180 Lambda ← FunctionEnvironment#175, Constant#179 Object 184 Goto → block 6 Block 6 186 Constant function ToObject at 104289c6c740 Object 187 Box ← Constant#186 Value 188 DebugCheckSelfHosted ← Box#187 Value 191 Constant function ToLength at 104289c6c778 Object 192 Box ← Constant#191 Value 193 DebugCheckSelfHosted ← Box#192 Value 195 GuardShape ← NewArrayObject#149 Object 196 Elements ← GuardShape#195 Elements 197 ArrayLength ← Elements#196 I[0, 2147483647]: Int32 808 Goto → block 7 Block 7 213 Constant function IsCallable at 104289c6c7b0 Object 214 Box ← Constant#213 Value 215 DebugCheckSelfHosted ← Box#214 Value 809 AssertClass ← Lambda#180 811 Goto → block 8 Block 8 813 Goto → block 9 Block 9 238 Box ← Constant#2 Value 239 Goto → block 10 Block 10 241 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 242 Box ← Constant#241 Value 243 DebugCheckSelfHosted ← Box#242 Value 246 HasShape ← NewArrayObject#149 Bool 247 Test ← HasShape#246 → block 11, block 12 1 0 Block 11 248 Constant function std_Array at 104289c6c820 Object 249 Box ← Constant#248 Value 250 DebugCheckSelfHosted ← Box#249 Value 253 Unbox DebugCheckSelfHosted#250 to Object (fallible) Object 255 GuardSpecificFunction ← Unbox#253, Constant#248 Object 256 NewArrayDynamicLength ← ArrayLength#197 Object 257 Goto → block 13 Block 12 258 CallGetIntrinsicValue Value 259 DebugCheckSelfHosted ← CallGetIntrinsicValue#258 Value 261 Bail 262 Unreachable Block 13 279 GuardShape ← NewArrayObject#149 Object 816 Constant 2 I[2, 2]: Double 318 GuardShape ← NewArrayDynamicLength#256 Object 264 Goto → block 14 Block 14 (loop header) 265 Phi ← Constant#32, Add#326 I[0 {}, 2147483647 {[loop] #197-1}]: Int32 267 InterruptCheck 272 Compare ← Phi#265, ArrayLength#197 Lt Bool 273 Test ← Compare#272 → block 15, block 20 1 0 Block 15 280 Elements ← GuardShape#279 Elements 281 InitializedLength ← Elements#280 I[0, 268435453]: Int32 282 BoundsCheck ← Phi#265, InitializedLength#281 I[0, 2147483646]: Int32 283 SpectreMaskIndex ← BoundsCheck#282, InitializedLength#281 I[0, 2147483646]: Int32 284 GuardElementNotHole ← Elements#280, SpectreMaskIndex#283 814 Goto → block 16 Block 16 299 GuardElementsArePacked ← Elements#280 300 LoadElement ← Elements#280, SpectreMaskIndex#283 Value 815 AssertClass ← Lambda#180 306 Goto → block 17 Block 17 309 Unbox LoadElement#300 to Double (fallible) Double 311 Mul ← Unbox#309, Constant#816 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 312 Goto → block 18 Block 18 319 Elements ← GuardShape#318 Elements 320 StoreElementHole ← GuardShape#318, Elements#319, Phi#265, Mul#311 321 Goto → block 19 Block 19 (backedge) 326 Add ← Phi#265, Constant#37 [int32] I[1, 2147483647]: Int32 327 Goto → block 14 Block 20 330 GuardShape ← NewArrayDynamicLength#256 Object 332 Constant function filter (self-hosted:183) at 104289c47970 Object 333 Constant function complex4/< (-e:18) at 104289c63d60 Object 334 Lambda ← FunctionEnvironment#175, Constant#333 Object 338 Goto → block 21 Block 21 342 DebugCheckSelfHosted ← Box#187 Value 349 DebugCheckSelfHosted ← Box#192 Value 351 GuardShape ← NewArrayDynamicLength#256 Object 352 Elements ← GuardShape#351 Elements 353 ArrayLength ← Elements#352 I[0, 2147483647]: Int32 818 Goto → block 22 Block 22 371 DebugCheckSelfHosted ← Box#214 Value 819 AssertClass ← Lambda#334 821 Goto → block 23 Block 23 823 Goto → block 24 Block 24 395 Goto → block 25 Block 25 399 DebugCheckSelfHosted ← Box#242 Value 402 HasShape ← NewArrayDynamicLength#256 Bool 403 Test ← HasShape#402 → block 26, block 27 1 0 Block 26 405 NewArrayObject ← Constant#30 Object 406 Goto → block 28 Block 27 407 CallGetIntrinsicValue Value 408 DebugCheckSelfHosted ← CallGetIntrinsicValue#407 Value 411 Bail 412 Unreachable Block 28 431 GuardShape ← NewArrayDynamicLength#256 Object 826 Constant 50 I[50, 50]: Double 473 GuardShape ← NewArrayObject#405 Object 415 Goto → block 29 Block 29 (loop header) 416 Phi ← Constant#32, Add#482 I[0 {}, 2147483647 {[loop] #353-1}]: Int32 417 Phi ← Constant#32, Phi#477 Int32 419 InterruptCheck 424 Compare ← Phi#416, ArrayLength#353 Lt Bool 425 Test ← Compare#424 → block 30, block 37 1 0 Block 30 432 Elements ← GuardShape#431 Elements 433 InitializedLength ← Elements#432 I[0, 268435453]: Int32 434 BoundsCheck ← Phi#416, InitializedLength#433 I[0, 2147483646]: Int32 435 SpectreMaskIndex ← BoundsCheck#434, InitializedLength#433 I[0, 2147483646]: Int32 436 GuardElementNotHole ← Elements#432, SpectreMaskIndex#435 824 Goto → block 31 Block 31 451 GuardElementsArePacked ← Elements#432 452 LoadElement ← Elements#432, SpectreMaskIndex#435 Value 825 AssertClass ← Lambda#334 458 Goto → block 32 Block 32 461 Unbox LoadElement#452 to Double (fallible) Double 463 Compare ← Unbox#461, Constant#826 Gt Bool 464 Goto → block 33 Block 33 465 Test ← Compare#463 → block 35, block 34 1 0 Block 34 (split edge) 466 Goto → block 36 Block 35 470 Add ← Phi#417, Constant#37 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 474 Elements ← GuardShape#473 Elements 475 StoreElementHole ← GuardShape#473, Elements#474, Phi#417, LoadElement#452 476 Goto → block 36 Block 36 (backedge) 477 Phi ← Add#470, Phi#417 Int32 482 Add ← Phi#416, Constant#37 [int32] I[1, 2147483647]: Int32 483 Goto → block 29 Block 37 486 GuardShape ← NewArrayObject#405 Object 488 Constant function reduce (self-hosted:205) at 104289c479c0 Object 489 Constant function complex4/< (-e:18) at 104289c63d98 Object 490 Lambda ← FunctionEnvironment#175, Constant#489 Object 495 Call ← Constant#488, NewArrayObject#405, Lambda#490, Constant#32 Value 496 Goto → block 38 Block 38 501 Constant shape at 104289c64fc0 Shape 502 NewPlainObject ← Constant#501 Object 503 GuardShape ← NewPlainObject#502 Object 504 PostWriteBarrier ← GuardShape#503, Call#108 505 StoreFixedSlot ← GuardShape#503, Call#108 (slot 0) 507 PostWriteBarrier ← GuardShape#503, BitOr#134 508 StoreFixedSlot ← GuardShape#503, BitOr#134 (slot 1) 510 PostWriteBarrier ← GuardShape#503, Call#143 511 StoreFixedSlot ← GuardShape#503, Call#143 (slot 2) 515 Goto → block 39 Block 39 518 Constant object 104289c3f078 (Call) Object 519 NewCallObject ← Constant#518 Object 520 Box ← FunctionEnvironment#517 Value 521 AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#520 522 Box ← Constant#76 Value 523 AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#522 524 StoreFixedSlot ← NewCallObject#519, FunctionEnvironment#517 (slot 0) 525 StoreFixedSlot ← NewCallObject#519, Constant#76 (slot 1) 526 PostWriteBarrier ← NewCallObject#519, NewPlainObject#502 527 StoreFixedSlot ← NewCallObject#519, NewPlainObject#502 (slot 2) 828 AssertClass ← NewPlainObject#502 540 ObjectKeys ← NewPlainObject#502 Object 541 GuardShape ← ObjectKeys#540 Object 544 Constant function complex5/< (-e:22) at 104289c63e08 Object 545 Lambda ← NewCallObject#519, Constant#544 Object 549 Goto → block 40 Block 40 553 DebugCheckSelfHosted ← Box#187 Value 558 DebugCheckSelfHosted ← Box#192 Value 560 GuardShape ← ObjectKeys#540 Object 561 Elements ← GuardShape#560 Elements 562 ArrayLength ← Elements#561 I[0, 2147483647]: Int32 830 Goto → block 41 Block 41 580 DebugCheckSelfHosted ← Box#214 Value 831 AssertClass ← Lambda#545 833 Goto → block 42 Block 42 835 Goto → block 43 Block 43 604 Goto → block 44 Block 44 608 DebugCheckSelfHosted ← Box#242 Value 611 HasShape ← ObjectKeys#540 Bool 612 Test ← HasShape#611 → block 45, block 46 1 0 Block 45 615 DebugCheckSelfHosted ← Box#249 Value 618 Unbox DebugCheckSelfHosted#615 to Object (fallible) Object 620 GuardSpecificFunction ← Unbox#618, Constant#248 Object 621 NewArrayDynamicLength ← ArrayLength#562 Object 622 Goto → block 47 Block 46 623 CallGetIntrinsicValue Value 624 DebugCheckSelfHosted ← CallGetIntrinsicValue#623 Value 626 Bail 627 Unreachable Block 47 644 GuardShape ← ObjectKeys#540 Object 674 LoadFixedSlot ← NewCallObject#519 (slot 2) Value 675 Unbox LoadFixedSlot#674 to Object (fallible) Object 683 GuardShape ← NewArrayDynamicLength#621 Object 629 Goto → block 48 Block 48 (loop header) 630 Phi ← Constant#32, Add#691 I[0 {}, 2147483647 {[loop] #562-1}]: Int32 632 InterruptCheck 637 Compare ← Phi#630, ArrayLength#562 Lt Bool 638 Test ← Compare#637 → block 49, block 54 1 0 Block 49 645 Elements ← GuardShape#644 Elements 646 InitializedLength ← Elements#645 I[0, 268435453]: Int32 647 BoundsCheck ← Phi#630, InitializedLength#646 I[0, 2147483646]: Int32 648 SpectreMaskIndex ← BoundsCheck#647, InitializedLength#646 I[0, 2147483646]: Int32 649 GuardElementNotHole ← Elements#645, SpectreMaskIndex#648 836 Goto → block 50 Block 50 664 GuardElementsArePacked ← Elements#645 665 LoadElement ← Elements#645, SpectreMaskIndex#648 Value 837 AssertClass ← Lambda#545 671 Goto → block 51 Block 51 676 MegamorphicLoadSlotByValue ← Unbox#675, LoadElement#665 Value 677 Goto → block 52 Block 52 684 Elements ← GuardShape#683 Elements 685 StoreElementHole ← GuardShape#683, Elements#684, Phi#630, MegamorphicLoadSlotByValue#676 686 Goto → block 53 Block 53 (backedge) 691 Add ← Phi#630, Constant#37 [int32] I[1, 2147483647]: Int32 692 Goto → block 48 Block 54 695 GuardShape ← NewArrayDynamicLength#621 Object 698 Constant function complex5/< (-e:22) at 104289c63e40 Object 699 Lambda ← NewCallObject#519, Constant#698 Object 704 Call ← Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32 Value 705 Goto → block 55 Block 55 (backedge) 709 Add ← Phi#90, Constant#37 [int32] I[1, 10]: Int32 710 Box ← BitOr#134 Value 711 Goto → block 1 Block 56 712 Unbox Phi#85 to Double (fallible) Double 713 Unbox Phi#86 to Double (fallible) Double 714 Add ← Unbox#712, Unbox#713 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 715 Unbox Phi#87 to Double (fallible) Double 716 Add ← Add#714, Unbox#715 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 717 Unbox Phi#88 to Double (fallible) Double 718 Add ← Add#716, Unbox#717 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 719 Unbox Phi#89 to Double (fallible) Double 720 Add ← Add#718, Unbox#719 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 721 Box ← Add#720 Value 722 Return ← Box#721
Block 0 805 Constant magic optimized-out MagicOptimizedOut 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant magic uninitialized-lexical MagicUninitializedLexical 8 Constant function complex1 (-e:2) at 104289c6c8c8 Object 13 Call ← Constant#8, Constant#2, Parameter#1 Value 16 Constant function complex2 (-e:7) at 104289c6c970 Object 21 Call ← Constant#16, Constant#2, Parameter#1 Value 24 Constant function complex3 (-e:11) at 104289c6c938 Object 29 Call ← Constant#24, Constant#2, Parameter#1, Call#13 Value 30 Constant shape at 104289c64f00 Shape 31 NewArrayObject ← Constant#30 Object 32 Constant 0x0 I[0, 0]: Int32 33 Elements ← NewArrayObject#31 Elements 34 PostWriteBarrier ← NewArrayObject#31, Call#13 35 StoreElement ← Elements#33, Constant#32, Call#13 36 SetInitializedLength ← Elements#33, Constant#32 37 Constant 0x1 I[1, 1]: Int32 38 Elements ← NewArrayObject#31 Elements 39 PostWriteBarrier ← NewArrayObject#31, Call#21 40 StoreElement ← Elements#38, Constant#37, Call#21 41 SetInitializedLength ← Elements#38, Constant#37 42 Constant 0x2 I[2, 2]: Int32 43 Elements ← NewArrayObject#31 Elements 44 PostWriteBarrier ← NewArrayObject#31, Call#29 45 StoreElement ← Elements#43, Constant#42, Call#29 46 SetInitializedLength ← Elements#43, Constant#42 47 Constant 0x3 I[3, 3]: Int32 48 Elements ← NewArrayObject#31 Elements 49 PostWriteBarrier ← NewArrayObject#31, Parameter#1 50 StoreElement ← Elements#48, Constant#47, Parameter#1 51 SetInitializedLength ← Elements#48, Constant#47 54 Constant function complex4 (-e:17) at 104289c6c890 Object 59 Call ← Constant#54, Constant#2, NewArrayObject#31 Value 60 Constant shape at 104289c64fa0 Shape 61 NewPlainObject ← Constant#60 Object 62 GuardShape ← NewPlainObject#61 Object 63 PostWriteBarrier ← GuardShape#62, Call#13 64 StoreFixedSlot ← GuardShape#62, Call#13 (slot 0) 66 PostWriteBarrier ← GuardShape#62, Call#21 67 StoreFixedSlot ← GuardShape#62, Call#21 (slot 1) 69 PostWriteBarrier ← GuardShape#62, Call#29 70 StoreFixedSlot ← GuardShape#62, Call#29 (slot 2) 72 PostWriteBarrier ← GuardShape#62, Call#59 73 StoreFixedSlot ← GuardShape#62, Call#59 (slot 3) 76 Constant function complex5 (-e:21) at 104289c6c900 Object 81 Call ← Constant#76, Constant#2, NewPlainObject#61 Value 175 FunctionEnvironment ← Constant#54 Object 517 FunctionEnvironment ← Constant#76 Object 84 Goto → block 1 Block 1 (loop header) 85 Phi ← Call#13, Call#108 Value 86 Phi ← Call#21, Box#710 Value 87 Phi ← Call#29, Call#143 Value 88 Phi ← Call#59, Call#495 Value 89 Phi ← Call#81, Call#704 Value 90 Phi ← Constant#32, Add#709 I[0 {}, 2147483647 {[loop] +9}]: Int32 91 InterruptCheck 92 Constant 0xa I[10, 10]: Int32 95 Compare ← Phi#90, Constant#92 Lt Bool 96 Test ← Compare#95 → block 2, block 56 1 0 Block 2 101 Unbox Phi#85 to Double (fallible) Double 806 ToDouble ← Phi#90 I[0, 9]: Double 104 Add ← Unbox#101, ToDouble#806 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 108 Call ← Constant#8, Constant#2, Add#104 Value 113 Unbox Phi#86 to Int32 (fallible) Int32 116 Add ← Unbox#113, Phi#90 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32 120 Goto → block 3 Block 3 123 Lsh ← Add#116, Constant#37 I[-2147483648, 2147483647]: Int32 125 Rsh ← Add#116, Constant#37 I[-1073741824, 1073741823]: Int32 126 Constant 0xff I[255, 255]: Int32 127 BitAnd ← Add#116, Constant#126 I[0, 255]: Int32 129 Ursh ← Add#116, Constant#42 I[0, 1073741823]: Int32 130 Add ← BitAnd#127, Ursh#129 [int32] I[0, 1073742078]: Int32 131 BitNot ← Add#116 I[-2147483648, 2147483647]: Int32 132 Sub ← Add#130, BitNot#131 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 133 BitXor ← Rsh#125, Sub#132 I[-2147483648, 2147483647]: Int32 134 BitOr ← Lsh#123, BitXor#133 I[-2147483648, 2147483647]: Int32 135 Goto → block 4 Block 4 143 Call ← Constant#24, Constant#2, Phi#87, Call#108 Value 149 NewArrayObject ← Constant#30 Object 151 Elements ← NewArrayObject#149 Elements 152 PostWriteBarrier ← NewArrayObject#149, Call#108 153 StoreElement ← Elements#151, Constant#32, Call#108 154 SetInitializedLength ← Elements#151, Constant#32 156 Elements ← NewArrayObject#149 Elements 157 PostWriteBarrier ← NewArrayObject#149, BitOr#134 158 StoreElement ← Elements#156, Constant#37, BitOr#134 159 SetInitializedLength ← Elements#156, Constant#37 161 Elements ← NewArrayObject#149 Elements 162 PostWriteBarrier ← NewArrayObject#149, Call#143 163 StoreElement ← Elements#161, Constant#42, Call#143 164 SetInitializedLength ← Elements#161, Constant#42 166 Elements ← NewArrayObject#149 Elements 167 PostWriteBarrier ← NewArrayObject#149, Phi#90 168 StoreElement ← Elements#166, Constant#47, Phi#90 169 SetInitializedLength ← Elements#166, Constant#47 173 Goto → block 5 Block 5 176 GuardShape ← NewArrayObject#149 Object 178 Constant function map (self-hosted:163) at 104289c47920 Object 179 Constant function complex4/< (-e:18) at 104289c63d28 Object 180 Lambda ← FunctionEnvironment#175, Constant#179 Object 184 Goto → block 6 Block 6 186 Constant function ToObject at 104289c6c740 Object 187 Box ← Constant#186 Value 188 DebugCheckSelfHosted ← Box#187 Value 191 Constant function ToLength at 104289c6c778 Object 192 Box ← Constant#191 Value 193 DebugCheckSelfHosted ← Box#192 Value 195 GuardShape ← NewArrayObject#149 Object 196 Elements ← GuardShape#195 Elements 197 ArrayLength ← Elements#196 I[0, 2147483647]: Int32 808 Goto → block 7 Block 7 213 Constant function IsCallable at 104289c6c7b0 Object 214 Box ← Constant#213 Value 215 DebugCheckSelfHosted ← Box#214 Value 809 AssertClass ← Lambda#180 811 Goto → block 8 Block 8 813 Goto → block 9 Block 9 238 Box ← Constant#2 Value 239 Goto → block 10 Block 10 241 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 242 Box ← Constant#241 Value 243 DebugCheckSelfHosted ← Box#242 Value 246 HasShape ← NewArrayObject#149 Bool 247 Test ← HasShape#246 → block 11, block 12 1 0 Block 11 248 Constant function std_Array at 104289c6c820 Object 249 Box ← Constant#248 Value 250 DebugCheckSelfHosted ← Box#249 Value 253 Unbox DebugCheckSelfHosted#250 to Object (fallible) Object 255 GuardSpecificFunction ← Unbox#253, Constant#248 Object 256 NewArrayDynamicLength ← ArrayLength#197 Object 257 Goto → block 13 Block 12 258 CallGetIntrinsicValue Value 259 DebugCheckSelfHosted ← CallGetIntrinsicValue#258 Value 261 Bail 262 Unreachable Block 13 279 GuardShape ← NewArrayObject#149 Object 816 Constant 2 I[2, 2]: Double 318 GuardShape ← NewArrayDynamicLength#256 Object 264 Goto → block 14 Block 14 (loop header) 265 Phi ← Constant#32, Add#326 I[0 {}, 2147483647 {[loop] #197-1}]: Int32 267 InterruptCheck 272 Compare ← Phi#265, ArrayLength#197 Lt Bool 273 Test ← Compare#272 → block 15, block 20 1 0 Block 15 280 Elements ← GuardShape#279 Elements 281 InitializedLength ← Elements#280 I[0, 268435453]: Int32 282 BoundsCheck ← Phi#265, InitializedLength#281 I[0, 2147483646]: Int32 283 SpectreMaskIndex ← BoundsCheck#282, InitializedLength#281 I[0, 2147483646]: Int32 284 GuardElementNotHole ← Elements#280, SpectreMaskIndex#283 814 Goto → block 16 Block 16 299 GuardElementsArePacked ← Elements#280 300 LoadElement ← Elements#280, SpectreMaskIndex#283 Value 815 AssertClass ← Lambda#180 306 Goto → block 17 Block 17 309 Unbox LoadElement#300 to Double (fallible) Double 311 Mul ← Unbox#309, Constant#816 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 312 Goto → block 18 Block 18 319 Elements ← GuardShape#318 Elements 320 StoreElementHole ← GuardShape#318, Elements#319, Phi#265, Mul#311 321 Goto → block 19 Block 19 (backedge) 326 Add ← Phi#265, Constant#37 [int32] I[1, 2147483647]: Int32 327 Goto → block 14 Block 20 330 GuardShape ← NewArrayDynamicLength#256 Object 332 Constant function filter (self-hosted:183) at 104289c47970 Object 333 Constant function complex4/< (-e:18) at 104289c63d60 Object 334 Lambda ← FunctionEnvironment#175, Constant#333 Object 338 Goto → block 21 Block 21 342 DebugCheckSelfHosted ← Box#187 Value 349 DebugCheckSelfHosted ← Box#192 Value 351 GuardShape ← NewArrayDynamicLength#256 Object 352 Elements ← GuardShape#351 Elements 353 ArrayLength ← Elements#352 I[0, 2147483647]: Int32 818 Goto → block 22 Block 22 371 DebugCheckSelfHosted ← Box#214 Value 819 AssertClass ← Lambda#334 821 Goto → block 23 Block 23 823 Goto → block 24 Block 24 395 Goto → block 25 Block 25 399 DebugCheckSelfHosted ← Box#242 Value 402 HasShape ← NewArrayDynamicLength#256 Bool 403 Test ← HasShape#402 → block 26, block 27 1 0 Block 26 405 NewArrayObject ← Constant#30 Object 406 Goto → block 28 Block 27 407 CallGetIntrinsicValue Value 408 DebugCheckSelfHosted ← CallGetIntrinsicValue#407 Value 411 Bail 412 Unreachable Block 28 431 GuardShape ← NewArrayDynamicLength#256 Object 826 Constant 50 I[50, 50]: Double 473 GuardShape ← NewArrayObject#405 Object 415 Goto → block 29 Block 29 (loop header) 416 Phi ← Constant#32, Add#482 I[0 {}, 2147483647 {[loop] #353-1}]: Int32 417 Phi ← Constant#32, Phi#477 Int32 419 InterruptCheck 424 Compare ← Phi#416, ArrayLength#353 Lt Bool 425 Test ← Compare#424 → block 30, block 37 1 0 Block 30 432 Elements ← GuardShape#431 Elements 433 InitializedLength ← Elements#432 I[0, 268435453]: Int32 434 BoundsCheck ← Phi#416, InitializedLength#433 I[0, 2147483646]: Int32 435 SpectreMaskIndex ← BoundsCheck#434, InitializedLength#433 I[0, 2147483646]: Int32 436 GuardElementNotHole ← Elements#432, SpectreMaskIndex#435 824 Goto → block 31 Block 31 451 GuardElementsArePacked ← Elements#432 452 LoadElement ← Elements#432, SpectreMaskIndex#435 Value 825 AssertClass ← Lambda#334 458 Goto → block 32 Block 32 461 Unbox LoadElement#452 to Double (fallible) Double 463 Compare ← Unbox#461, Constant#826 Gt Bool 464 Goto → block 33 Block 33 465 Test ← Compare#463 → block 35, block 34 1 0 Block 34 (split edge) 466 Goto → block 36 Block 35 470 Add ← Phi#417, Constant#37 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 474 Elements ← GuardShape#473 Elements 475 StoreElementHole ← GuardShape#473, Elements#474, Phi#417, LoadElement#452 476 Goto → block 36 Block 36 (backedge) 477 Phi ← Add#470, Phi#417 Int32 482 Add ← Phi#416, Constant#37 [int32] I[1, 2147483647]: Int32 483 Goto → block 29 Block 37 486 GuardShape ← NewArrayObject#405 Object 488 Constant function reduce (self-hosted:205) at 104289c479c0 Object 489 Constant function complex4/< (-e:18) at 104289c63d98 Object 490 Lambda ← FunctionEnvironment#175, Constant#489 Object 495 Call ← Constant#488, NewArrayObject#405, Lambda#490, Constant#32 Value 496 Goto → block 38 Block 38 501 Constant shape at 104289c64fc0 Shape 502 NewPlainObject ← Constant#501 Object 503 GuardShape ← NewPlainObject#502 Object 504 PostWriteBarrier ← GuardShape#503, Call#108 505 StoreFixedSlot ← GuardShape#503, Call#108 (slot 0) 507 PostWriteBarrier ← GuardShape#503, BitOr#134 508 StoreFixedSlot ← GuardShape#503, BitOr#134 (slot 1) 510 PostWriteBarrier ← GuardShape#503, Call#143 511 StoreFixedSlot ← GuardShape#503, Call#143 (slot 2) 515 Goto → block 39 Block 39 518 Constant object 104289c3f078 (Call) Object 519 NewCallObject ← Constant#518 Object 520 Box ← FunctionEnvironment#517 Value 521 AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#520 522 Box ← Constant#76 Value 523 AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#522 524 StoreFixedSlot ← NewCallObject#519, FunctionEnvironment#517 (slot 0) 525 StoreFixedSlot ← NewCallObject#519, Constant#76 (slot 1) 526 PostWriteBarrier ← NewCallObject#519, NewPlainObject#502 527 StoreFixedSlot ← NewCallObject#519, NewPlainObject#502 (slot 2) 828 AssertClass ← NewPlainObject#502 540 ObjectKeys ← NewPlainObject#502 Object 541 GuardShape ← ObjectKeys#540 Object 544 Constant function complex5/< (-e:22) at 104289c63e08 Object 545 Lambda ← NewCallObject#519, Constant#544 Object 549 Goto → block 40 Block 40 553 DebugCheckSelfHosted ← Box#187 Value 558 DebugCheckSelfHosted ← Box#192 Value 560 GuardShape ← ObjectKeys#540 Object 561 Elements ← GuardShape#560 Elements 562 ArrayLength ← Elements#561 I[0, 2147483647]: Int32 830 Goto → block 41 Block 41 580 DebugCheckSelfHosted ← Box#214 Value 831 AssertClass ← Lambda#545 833 Goto → block 42 Block 42 835 Goto → block 43 Block 43 604 Goto → block 44 Block 44 608 DebugCheckSelfHosted ← Box#242 Value 611 HasShape ← ObjectKeys#540 Bool 612 Test ← HasShape#611 → block 45, block 46 1 0 Block 45 615 DebugCheckSelfHosted ← Box#249 Value 618 Unbox DebugCheckSelfHosted#615 to Object (fallible) Object 620 GuardSpecificFunction ← Unbox#618, Constant#248 Object 621 NewArrayDynamicLength ← ArrayLength#562 Object 622 Goto → block 47 Block 46 623 CallGetIntrinsicValue Value 624 DebugCheckSelfHosted ← CallGetIntrinsicValue#623 Value 626 Bail 627 Unreachable Block 47 644 GuardShape ← ObjectKeys#540 Object 674 LoadFixedSlot ← NewCallObject#519 (slot 2) Value 675 Unbox LoadFixedSlot#674 to Object (fallible) Object 683 GuardShape ← NewArrayDynamicLength#621 Object 629 Goto → block 48 Block 48 (loop header) 630 Phi ← Constant#32, Add#691 I[0 {}, 2147483647 {[loop] #562-1}]: Int32 632 InterruptCheck 637 Compare ← Phi#630, ArrayLength#562 Lt Bool 638 Test ← Compare#637 → block 49, block 54 1 0 Block 49 645 Elements ← GuardShape#644 Elements 646 InitializedLength ← Elements#645 I[0, 268435453]: Int32 647 BoundsCheck ← Phi#630, InitializedLength#646 I[0, 2147483646]: Int32 648 SpectreMaskIndex ← BoundsCheck#647, InitializedLength#646 I[0, 2147483646]: Int32 649 GuardElementNotHole ← Elements#645, SpectreMaskIndex#648 836 Goto → block 50 Block 50 664 GuardElementsArePacked ← Elements#645 665 LoadElement ← Elements#645, SpectreMaskIndex#648 Value 837 AssertClass ← Lambda#545 671 Goto → block 51 Block 51 676 MegamorphicLoadSlotByValue ← Unbox#675, LoadElement#665 Value 677 Goto → block 52 Block 52 684 Elements ← GuardShape#683 Elements 685 StoreElementHole ← GuardShape#683, Elements#684, Phi#630, MegamorphicLoadSlotByValue#676 686 Goto → block 53 Block 53 (backedge) 691 Add ← Phi#630, Constant#37 [int32] I[1, 2147483647]: Int32 692 Goto → block 48 Block 54 695 GuardShape ← NewArrayDynamicLength#621 Object 698 Constant function complex5/< (-e:22) at 104289c63e40 Object 699 Lambda ← NewCallObject#519, Constant#698 Object 704 Call ← Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32 Value 705 Goto → block 55 Block 55 (backedge) 709 Add ← Phi#90, Constant#37 [int32] I[1, 10]: Int32 710 Box ← BitOr#134 Value 711 Goto → block 1 Block 56 712 Unbox Phi#85 to Double (fallible) Double 713 Unbox Phi#86 to Double (fallible) Double 714 Add ← Unbox#712, Unbox#713 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 715 Unbox Phi#87 to Double (fallible) Double 716 Add ← Add#714, Unbox#715 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 717 Unbox Phi#88 to Double (fallible) Double 718 Add ← Add#716, Unbox#717 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 719 Unbox Phi#89 to Double (fallible) Double 720 Add ← Add#718, Unbox#719 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 721 Box ← Add#720 Value 722 Return ← Box#721
Block 0 805 Constant magic optimized-out MagicOptimizedOut 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant magic uninitialized-lexical MagicUninitializedLexical 8 Constant function complex1 (-e:2) at 104289c6c8c8 Object 13 Call ← Constant#8, Constant#2, Parameter#1 Value 16 Constant function complex2 (-e:7) at 104289c6c970 Object 21 Call ← Constant#16, Constant#2, Parameter#1 Value 24 Constant function complex3 (-e:11) at 104289c6c938 Object 29 Call ← Constant#24, Constant#2, Parameter#1, Call#13 Value 30 Constant shape at 104289c64f00 Shape 31 NewArrayObject ← Constant#30 Object 32 Constant 0x0 I[0, 0]: Int32 33 Elements ← NewArrayObject#31 Elements 34 PostWriteBarrier ← NewArrayObject#31, Call#13 35 StoreElement ← Elements#33, Constant#32, Call#13 36 SetInitializedLength ← Elements#33, Constant#32 37 Constant 0x1 I[1, 1]: Int32 38 Elements ← NewArrayObject#31 Elements 39 PostWriteBarrier ← NewArrayObject#31, Call#21 40 StoreElement ← Elements#38, Constant#37, Call#21 41 SetInitializedLength ← Elements#38, Constant#37 42 Constant 0x2 I[2, 2]: Int32 43 Elements ← NewArrayObject#31 Elements 44 PostWriteBarrier ← NewArrayObject#31, Call#29 45 StoreElement ← Elements#43, Constant#42, Call#29 46 SetInitializedLength ← Elements#43, Constant#42 47 Constant 0x3 I[3, 3]: Int32 48 Elements ← NewArrayObject#31 Elements 49 PostWriteBarrier ← NewArrayObject#31, Parameter#1 50 StoreElement ← Elements#48, Constant#47, Parameter#1 51 SetInitializedLength ← Elements#48, Constant#47 54 Constant function complex4 (-e:17) at 104289c6c890 Object 59 Call ← Constant#54, Constant#2, NewArrayObject#31 Value 60 Constant shape at 104289c64fa0 Shape 61 NewPlainObject ← Constant#60 Object 62 GuardShape ← NewPlainObject#61 Object 63 PostWriteBarrier ← GuardShape#62, Call#13 64 StoreFixedSlot ← GuardShape#62, Call#13 (slot 0) 66 PostWriteBarrier ← GuardShape#62, Call#21 67 StoreFixedSlot ← GuardShape#62, Call#21 (slot 1) 69 PostWriteBarrier ← GuardShape#62, Call#29 70 StoreFixedSlot ← GuardShape#62, Call#29 (slot 2) 72 PostWriteBarrier ← GuardShape#62, Call#59 73 StoreFixedSlot ← GuardShape#62, Call#59 (slot 3) 76 Constant function complex5 (-e:21) at 104289c6c900 Object 81 Call ← Constant#76, Constant#2, NewPlainObject#61 Value 175 FunctionEnvironment ← Constant#54 Object 517 FunctionEnvironment ← Constant#76 Object 84 Goto → block 1 Block 1 (loop header) 85 Phi ← Call#13, Call#108 Value 86 Phi ← Call#21, Box#710 Value 87 Phi ← Call#29, Call#143 Value 88 Phi ← Call#59, Call#495 Value 89 Phi ← Call#81, Call#704 Value 90 Phi ← Constant#32, Add#709 I[0 {}, 2147483647 {[loop] +9}]: Int32 91 InterruptCheck 92 Constant 0xa I[10, 10]: Int32 95 Compare ← Phi#90, Constant#92 Lt Bool 96 Test ← Compare#95 → block 2, block 56 1 0 Block 2 101 Unbox Phi#85 to Double (fallible) Double 806 ToDouble ← Phi#90 I[0, 9]: Double 104 Add ← Unbox#101, ToDouble#806 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 108 Call ← Constant#8, Constant#2, Add#104 Value 113 Unbox Phi#86 to Int32 (fallible) Int32 116 Add ← Unbox#113, Phi#90 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32 120 Goto → block 3 Block 3 123 Lsh ← Add#116, Constant#37 I[-2147483648, 2147483647]: Int32 125 Rsh ← Add#116, Constant#37 I[-1073741824, 1073741823]: Int32 126 Constant 0xff I[255, 255]: Int32 127 BitAnd ← Add#116, Constant#126 I[0, 255]: Int32 129 Ursh ← Add#116, Constant#42 I[0, 1073741823]: Int32 130 Add ← BitAnd#127, Ursh#129 [int32] I[0, 1073742078]: Int32 131 BitNot ← Add#116 I[-2147483648, 2147483647]: Int32 132 Sub ← Add#130, BitNot#131 [int32] I[-2147483648, 2147483647]: Int32 (t) 133 BitXor ← Rsh#125, Sub#132 I[-2147483648, 2147483647]: Int32 134 BitOr ← Lsh#123, BitXor#133 I[-2147483648, 2147483647]: Int32 135 Goto → block 4 Block 4 143 Call ← Constant#24, Constant#2, Phi#87, Call#108 Value 149 NewArrayObject ← Constant#30 Object 151 Elements ← NewArrayObject#149 Elements 152 PostWriteBarrier ← NewArrayObject#149, Call#108 153 StoreElement ← Elements#151, Constant#32, Call#108 154 SetInitializedLength ← Elements#151, Constant#32 156 Elements ← NewArrayObject#149 Elements 157 PostWriteBarrier ← NewArrayObject#149, BitOr#134 158 StoreElement ← Elements#156, Constant#37, BitOr#134 159 SetInitializedLength ← Elements#156, Constant#37 161 Elements ← NewArrayObject#149 Elements 162 PostWriteBarrier ← NewArrayObject#149, Call#143 163 StoreElement ← Elements#161, Constant#42, Call#143 164 SetInitializedLength ← Elements#161, Constant#42 166 Elements ← NewArrayObject#149 Elements 167 PostWriteBarrier ← NewArrayObject#149, Phi#90 168 StoreElement ← Elements#166, Constant#47, Phi#90 169 SetInitializedLength ← Elements#166, Constant#47 173 Goto → block 5 Block 5 176 GuardShape ← NewArrayObject#149 Object 178 Constant function map (self-hosted:163) at 104289c47920 Object 179 Constant function complex4/< (-e:18) at 104289c63d28 Object 180 Lambda ← FunctionEnvironment#175, Constant#179 Object 184 Goto → block 6 Block 6 186 Constant function ToObject at 104289c6c740 Object 187 Box ← Constant#186 Value 188 DebugCheckSelfHosted ← Box#187 Value 191 Constant function ToLength at 104289c6c778 Object 192 Box ← Constant#191 Value 193 DebugCheckSelfHosted ← Box#192 Value 195 GuardShape ← NewArrayObject#149 Object 196 Elements ← GuardShape#195 Elements 197 ArrayLength ← Elements#196 I[0, 2147483647]: Int32 808 Goto → block 7 Block 7 213 Constant function IsCallable at 104289c6c7b0 Object 214 Box ← Constant#213 Value 215 DebugCheckSelfHosted ← Box#214 Value 809 AssertClass ← Lambda#180 811 Goto → block 8 Block 8 813 Goto → block 9 Block 9 238 Box ← Constant#2 Value 239 Goto → block 10 Block 10 241 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 242 Box ← Constant#241 Value 243 DebugCheckSelfHosted ← Box#242 Value 246 HasShape ← NewArrayObject#149 Bool 247 Test ← HasShape#246 → block 11, block 12 1 0 Block 11 248 Constant function std_Array at 104289c6c820 Object 249 Box ← Constant#248 Value 250 DebugCheckSelfHosted ← Box#249 Value 253 Unbox DebugCheckSelfHosted#250 to Object (fallible) Object 255 GuardSpecificFunction ← Unbox#253, Constant#248 Object 256 NewArrayDynamicLength ← ArrayLength#197 Object 257 Goto → block 13 Block 12 258 CallGetIntrinsicValue Value 259 DebugCheckSelfHosted ← CallGetIntrinsicValue#258 Value 261 Bail 262 Unreachable Block 13 279 GuardShape ← NewArrayObject#149 Object 816 Constant 2 I[2, 2]: Double 318 GuardShape ← NewArrayDynamicLength#256 Object 264 Goto → block 14 Block 14 (loop header) 265 Phi ← Constant#32, Add#326 I[0 {}, 2147483647 {[loop] #197-1}]: Int32 267 InterruptCheck 272 Compare ← Phi#265, ArrayLength#197 Lt Bool 273 Test ← Compare#272 → block 15, block 20 1 0 Block 15 280 Elements ← GuardShape#279 Elements 281 InitializedLength ← Elements#280 I[0, 268435453]: Int32 282 BoundsCheck ← Phi#265, InitializedLength#281 I[0, 2147483646]: Int32 283 SpectreMaskIndex ← BoundsCheck#282, InitializedLength#281 I[0, 2147483646]: Int32 284 GuardElementNotHole ← Elements#280, SpectreMaskIndex#283 814 Goto → block 16 Block 16 299 GuardElementsArePacked ← Elements#280 300 LoadElement ← Elements#280, SpectreMaskIndex#283 Value 815 AssertClass ← Lambda#180 306 Goto → block 17 Block 17 309 Unbox LoadElement#300 to Double (fallible) Double 311 Mul ← Unbox#309, Constant#816 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 312 Goto → block 18 Block 18 319 Elements ← GuardShape#318 Elements 320 StoreElementHole ← GuardShape#318, Elements#319, Phi#265, Mul#311 321 Goto → block 19 Block 19 (backedge) 326 Add ← Phi#265, Constant#37 [int32] I[1, 2147483647]: Int32 327 Goto → block 14 Block 20 330 GuardShape ← NewArrayDynamicLength#256 Object 332 Constant function filter (self-hosted:183) at 104289c47970 Object 333 Constant function complex4/< (-e:18) at 104289c63d60 Object 334 Lambda ← FunctionEnvironment#175, Constant#333 Object 338 Goto → block 21 Block 21 342 DebugCheckSelfHosted ← Box#187 Value 349 DebugCheckSelfHosted ← Box#192 Value 351 GuardShape ← NewArrayDynamicLength#256 Object 352 Elements ← GuardShape#351 Elements 353 ArrayLength ← Elements#352 I[0, 2147483647]: Int32 818 Goto → block 22 Block 22 371 DebugCheckSelfHosted ← Box#214 Value 819 AssertClass ← Lambda#334 821 Goto → block 23 Block 23 823 Goto → block 24 Block 24 395 Goto → block 25 Block 25 399 DebugCheckSelfHosted ← Box#242 Value 402 HasShape ← NewArrayDynamicLength#256 Bool 403 Test ← HasShape#402 → block 26, block 27 1 0 Block 26 405 NewArrayObject ← Constant#30 Object 406 Goto → block 28 Block 27 407 CallGetIntrinsicValue Value 408 DebugCheckSelfHosted ← CallGetIntrinsicValue#407 Value 411 Bail 412 Unreachable Block 28 431 GuardShape ← NewArrayDynamicLength#256 Object 826 Constant 50 I[50, 50]: Double 473 GuardShape ← NewArrayObject#405 Object 415 Goto → block 29 Block 29 (loop header) 416 Phi ← Constant#32, Add#482 I[0 {}, 2147483647 {[loop] #353-1}]: Int32 417 Phi ← Constant#32, Phi#477 Int32 419 InterruptCheck 424 Compare ← Phi#416, ArrayLength#353 Lt Bool 425 Test ← Compare#424 → block 30, block 37 1 0 Block 30 432 Elements ← GuardShape#431 Elements 433 InitializedLength ← Elements#432 I[0, 268435453]: Int32 434 BoundsCheck ← Phi#416, InitializedLength#433 I[0, 2147483646]: Int32 435 SpectreMaskIndex ← BoundsCheck#434, InitializedLength#433 I[0, 2147483646]: Int32 436 GuardElementNotHole ← Elements#432, SpectreMaskIndex#435 824 Goto → block 31 Block 31 451 GuardElementsArePacked ← Elements#432 452 LoadElement ← Elements#432, SpectreMaskIndex#435 Value 825 AssertClass ← Lambda#334 458 Goto → block 32 Block 32 461 Unbox LoadElement#452 to Double (fallible) Double 463 Compare ← Unbox#461, Constant#826 Gt Bool 464 Goto → block 33 Block 33 465 Test ← Compare#463 → block 35, block 34 1 0 Block 34 (split edge) 466 Goto → block 36 Block 35 470 Add ← Phi#417, Constant#37 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 474 Elements ← GuardShape#473 Elements 475 StoreElementHole ← GuardShape#473, Elements#474, Phi#417, LoadElement#452 476 Goto → block 36 Block 36 (backedge) 477 Phi ← Add#470, Phi#417 Int32 482 Add ← Phi#416, Constant#37 [int32] I[1, 2147483647]: Int32 483 Goto → block 29 Block 37 486 GuardShape ← NewArrayObject#405 Object 488 Constant function reduce (self-hosted:205) at 104289c479c0 Object 489 Constant function complex4/< (-e:18) at 104289c63d98 Object 490 Lambda ← FunctionEnvironment#175, Constant#489 Object 495 Call ← Constant#488, NewArrayObject#405, Lambda#490, Constant#32 Value 496 Goto → block 38 Block 38 501 Constant shape at 104289c64fc0 Shape 502 NewPlainObject ← Constant#501 Object 503 GuardShape ← NewPlainObject#502 Object 504 PostWriteBarrier ← GuardShape#503, Call#108 505 StoreFixedSlot ← GuardShape#503, Call#108 (slot 0) 507 PostWriteBarrier ← GuardShape#503, BitOr#134 508 StoreFixedSlot ← GuardShape#503, BitOr#134 (slot 1) 510 PostWriteBarrier ← GuardShape#503, Call#143 511 StoreFixedSlot ← GuardShape#503, Call#143 (slot 2) 515 Goto → block 39 Block 39 518 Constant object 104289c3f078 (Call) Object 519 NewCallObject ← Constant#518 Object 520 Box ← FunctionEnvironment#517 Value 521 AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#520 522 Box ← Constant#76 Value 523 AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#522 524 StoreFixedSlot ← NewCallObject#519, FunctionEnvironment#517 (slot 0) 525 StoreFixedSlot ← NewCallObject#519, Constant#76 (slot 1) 526 PostWriteBarrier ← NewCallObject#519, NewPlainObject#502 527 StoreFixedSlot ← NewCallObject#519, NewPlainObject#502 (slot 2) 828 AssertClass ← NewPlainObject#502 540 ObjectKeys ← NewPlainObject#502 Object 541 GuardShape ← ObjectKeys#540 Object 544 Constant function complex5/< (-e:22) at 104289c63e08 Object 545 Lambda ← NewCallObject#519, Constant#544 Object 549 Goto → block 40 Block 40 553 DebugCheckSelfHosted ← Box#187 Value 558 DebugCheckSelfHosted ← Box#192 Value 560 GuardShape ← ObjectKeys#540 Object 561 Elements ← GuardShape#560 Elements 562 ArrayLength ← Elements#561 I[0, 2147483647]: Int32 830 Goto → block 41 Block 41 580 DebugCheckSelfHosted ← Box#214 Value 831 AssertClass ← Lambda#545 833 Goto → block 42 Block 42 835 Goto → block 43 Block 43 604 Goto → block 44 Block 44 608 DebugCheckSelfHosted ← Box#242 Value 611 HasShape ← ObjectKeys#540 Bool 612 Test ← HasShape#611 → block 45, block 46 1 0 Block 45 615 DebugCheckSelfHosted ← Box#249 Value 618 Unbox DebugCheckSelfHosted#615 to Object (fallible) Object 620 GuardSpecificFunction ← Unbox#618, Constant#248 Object 621 NewArrayDynamicLength ← ArrayLength#562 Object 622 Goto → block 47 Block 46 623 CallGetIntrinsicValue Value 624 DebugCheckSelfHosted ← CallGetIntrinsicValue#623 Value 626 Bail 627 Unreachable Block 47 644 GuardShape ← ObjectKeys#540 Object 674 LoadFixedSlot ← NewCallObject#519 (slot 2) Value 675 Unbox LoadFixedSlot#674 to Object (fallible) Object 683 GuardShape ← NewArrayDynamicLength#621 Object 629 Goto → block 48 Block 48 (loop header) 630 Phi ← Constant#32, Add#691 I[0 {}, 2147483647 {[loop] #562-1}]: Int32 632 InterruptCheck 637 Compare ← Phi#630, ArrayLength#562 Lt Bool 638 Test ← Compare#637 → block 49, block 54 1 0 Block 49 645 Elements ← GuardShape#644 Elements 646 InitializedLength ← Elements#645 I[0, 268435453]: Int32 647 BoundsCheck ← Phi#630, InitializedLength#646 I[0, 2147483646]: Int32 648 SpectreMaskIndex ← BoundsCheck#647, InitializedLength#646 I[0, 2147483646]: Int32 649 GuardElementNotHole ← Elements#645, SpectreMaskIndex#648 836 Goto → block 50 Block 50 664 GuardElementsArePacked ← Elements#645 665 LoadElement ← Elements#645, SpectreMaskIndex#648 Value 837 AssertClass ← Lambda#545 671 Goto → block 51 Block 51 676 MegamorphicLoadSlotByValue ← Unbox#675, LoadElement#665 Value 677 Goto → block 52 Block 52 684 Elements ← GuardShape#683 Elements 685 StoreElementHole ← GuardShape#683, Elements#684, Phi#630, MegamorphicLoadSlotByValue#676 686 Goto → block 53 Block 53 (backedge) 691 Add ← Phi#630, Constant#37 [int32] I[1, 2147483647]: Int32 692 Goto → block 48 Block 54 695 GuardShape ← NewArrayDynamicLength#621 Object 698 Constant function complex5/< (-e:22) at 104289c63e40 Object 699 Lambda ← NewCallObject#519, Constant#698 Object 704 Call ← Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32 Value 705 Goto → block 55 Block 55 (backedge) 709 Add ← Phi#90, Constant#37 [int32] I[1, 10]: Int32 710 Box ← BitOr#134 Value 711 Goto → block 1 Block 56 712 Unbox Phi#85 to Double (fallible) Double 713 Unbox Phi#86 to Double (fallible) Double 714 Add ← Unbox#712, Unbox#713 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 715 Unbox Phi#87 to Double (fallible) Double 716 Add ← Add#714, Unbox#715 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 717 Unbox Phi#88 to Double (fallible) Double 718 Add ← Add#716, Unbox#717 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 719 Unbox Phi#89 to Double (fallible) Double 720 Add ← Add#718, Unbox#719 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 721 Box ← Add#720 Value 722 Return ← Box#721
Block 0 805 Constant magic optimized-out MagicOptimizedOut 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant magic uninitialized-lexical MagicUninitializedLexical 8 Constant function complex1 (-e:2) at 104289c6c8c8 Object 13 Call ← Constant#8, Constant#2, Parameter#1 Value 16 Constant function complex2 (-e:7) at 104289c6c970 Object 21 Call ← Constant#16, Constant#2, Parameter#1 Value 24 Constant function complex3 (-e:11) at 104289c6c938 Object 29 Call ← Constant#24, Constant#2, Parameter#1, Call#13 Value 30 Constant shape at 104289c64f00 Shape 31 NewArrayObject ← Constant#30 Object 32 Constant 0x0 I[0, 0]: Int32 33 Elements ← NewArrayObject#31 Elements 34 PostWriteBarrier ← NewArrayObject#31, Call#13 35 StoreElement ← Elements#33, Constant#32, Call#13 36 SetInitializedLength ← Elements#33, Constant#32 37 Constant 0x1 I[1, 1]: Int32 38 Elements ← NewArrayObject#31 Elements 39 PostWriteBarrier ← NewArrayObject#31, Call#21 40 StoreElement ← Elements#38, Constant#37, Call#21 41 SetInitializedLength ← Elements#38, Constant#37 42 Constant 0x2 I[2, 2]: Int32 43 Elements ← NewArrayObject#31 Elements 44 PostWriteBarrier ← NewArrayObject#31, Call#29 45 StoreElement ← Elements#43, Constant#42, Call#29 46 SetInitializedLength ← Elements#43, Constant#42 47 Constant 0x3 I[3, 3]: Int32 48 Elements ← NewArrayObject#31 Elements 49 PostWriteBarrier ← NewArrayObject#31, Parameter#1 50 StoreElement ← Elements#48, Constant#47, Parameter#1 51 SetInitializedLength ← Elements#48, Constant#47 54 Constant function complex4 (-e:17) at 104289c6c890 Object 59 Call ← Constant#54, Constant#2, NewArrayObject#31 Value 60 Constant shape at 104289c64fa0 Shape 61 NewPlainObject ← Constant#60 Object 62 GuardShape ← NewPlainObject#61 Object 63 PostWriteBarrier ← GuardShape#62, Call#13 64 StoreFixedSlot ← GuardShape#62, Call#13 (slot 0) 66 PostWriteBarrier ← GuardShape#62, Call#21 67 StoreFixedSlot ← GuardShape#62, Call#21 (slot 1) 69 PostWriteBarrier ← GuardShape#62, Call#29 70 StoreFixedSlot ← GuardShape#62, Call#29 (slot 2) 72 PostWriteBarrier ← GuardShape#62, Call#59 73 StoreFixedSlot ← GuardShape#62, Call#59 (slot 3) 76 Constant function complex5 (-e:21) at 104289c6c900 Object 81 Call ← Constant#76, Constant#2, NewPlainObject#61 Value 175 FunctionEnvironment ← Constant#54 Object 517 FunctionEnvironment ← Constant#76 Object 84 Goto → block 1 Block 1 (loop header) 85 Phi ← Call#13, Call#108 Value 86 Phi ← Call#21, Box#710 Value 87 Phi ← Call#29, Call#143 Value 88 Phi ← Call#59, Call#495 Value 89 Phi ← Call#81, Call#704 Value 90 Phi ← Constant#32, Add#709 I[0 {}, 2147483647 {[loop] +9}]: Int32 91 InterruptCheck 92 Constant 0xa I[10, 10]: Int32 95 Compare ← Phi#90, Constant#92 Lt Bool 96 Test ← Compare#95 → block 2, block 56 1 0 Block 2 101 Unbox Phi#85 to Double (fallible) Double 806 ToDouble ← Phi#90 I[0, 9]: Double 104 Add ← Unbox#101, ToDouble#806 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 108 Call ← Constant#8, Constant#2, Add#104 Value 113 Unbox Phi#86 to Int32 (fallible) Int32 116 Add ← Unbox#113, Phi#90 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32 120 Goto → block 3 Block 3 123 Lsh ← Add#116, Constant#37 I[-2147483648, 2147483647]: Int32 125 Rsh ← Add#116, Constant#37 I[-1073741824, 1073741823]: Int32 126 Constant 0xff I[255, 255]: Int32 127 BitAnd ← Add#116, Constant#126 I[0, 255]: Int32 129 Ursh ← Add#116, Constant#42 I[0, 1073741823]: Int32 130 Add ← BitAnd#127, Ursh#129 [int32] I[0, 1073742078]: Int32 131 BitNot ← Add#116 I[-2147483648, 2147483647]: Int32 132 Sub ← Add#130, BitNot#131 [int32] I[-2147483648, 2147483647]: Int32 (t) 133 BitXor ← Rsh#125, Sub#132 I[-2147483648, 2147483647]: Int32 134 BitOr ← Lsh#123, BitXor#133 I[-2147483648, 2147483647]: Int32 135 Goto → block 4 Block 4 143 Call ← Constant#24, Constant#2, Phi#87, Call#108 Value 149 NewArrayObject ← Constant#30 Object 151 Elements ← NewArrayObject#149 Elements 152 PostWriteBarrier ← NewArrayObject#149, Call#108 153 StoreElement ← Elements#151, Constant#32, Call#108 154 SetInitializedLength ← Elements#151, Constant#32 156 Elements ← NewArrayObject#149 Elements 157 PostWriteBarrier ← NewArrayObject#149, BitOr#134 158 StoreElement ← Elements#156, Constant#37, BitOr#134 159 SetInitializedLength ← Elements#156, Constant#37 161 Elements ← NewArrayObject#149 Elements 162 PostWriteBarrier ← NewArrayObject#149, Call#143 163 StoreElement ← Elements#161, Constant#42, Call#143 164 SetInitializedLength ← Elements#161, Constant#42 166 Elements ← NewArrayObject#149 Elements 167 PostWriteBarrier ← NewArrayObject#149, Phi#90 168 StoreElement ← Elements#166, Constant#47, Phi#90 169 SetInitializedLength ← Elements#166, Constant#47 173 Goto → block 5 Block 5 176 GuardShape ← NewArrayObject#149 Object 178 Constant function map (self-hosted:163) at 104289c47920 Object 179 Constant function complex4/< (-e:18) at 104289c63d28 Object 180 Lambda ← FunctionEnvironment#175, Constant#179 Object 184 Goto → block 6 Block 6 186 Constant function ToObject at 104289c6c740 Object 187 Box ← Constant#186 Value 188 DebugCheckSelfHosted ← Box#187 Value 191 Constant function ToLength at 104289c6c778 Object 192 Box ← Constant#191 Value 193 DebugCheckSelfHosted ← Box#192 Value 195 GuardShape ← NewArrayObject#149 Object 196 Elements ← GuardShape#195 Elements 197 ArrayLength ← Elements#196 I[0, 2147483647]: Int32 808 Goto → block 7 Block 7 213 Constant function IsCallable at 104289c6c7b0 Object 214 Box ← Constant#213 Value 215 DebugCheckSelfHosted ← Box#214 Value 809 AssertClass ← Lambda#180 811 Goto → block 8 Block 8 813 Goto → block 9 Block 9 238 Box ← Constant#2 Value 239 Goto → block 10 Block 10 241 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 242 Box ← Constant#241 Value 243 DebugCheckSelfHosted ← Box#242 Value 246 HasShape ← NewArrayObject#149 Bool 247 Test ← HasShape#246 → block 11, block 12 1 0 Block 11 248 Constant function std_Array at 104289c6c820 Object 249 Box ← Constant#248 Value 250 DebugCheckSelfHosted ← Box#249 Value 253 Unbox DebugCheckSelfHosted#250 to Object (fallible) Object 255 GuardSpecificFunction ← Unbox#253, Constant#248 Object 256 NewArrayDynamicLength ← ArrayLength#197 Object 257 Goto → block 13 Block 12 258 CallGetIntrinsicValue Value 259 DebugCheckSelfHosted ← CallGetIntrinsicValue#258 Value 261 Bail 262 Unreachable Block 13 279 GuardShape ← NewArrayObject#149 Object 816 Constant 2 I[2, 2]: Double 318 GuardShape ← NewArrayDynamicLength#256 Object 264 Goto → block 14 Block 14 (loop header) 265 Phi ← Constant#32, Add#326 I[0 {}, 2147483647 {[loop] #197-1}]: Int32 267 InterruptCheck 272 Compare ← Phi#265, ArrayLength#197 Lt Bool 273 Test ← Compare#272 → block 15, block 20 1 0 Block 15 280 Elements ← GuardShape#279 Elements 281 InitializedLength ← Elements#280 I[0, 268435453]: Int32 282 BoundsCheck ← Phi#265, InitializedLength#281 I[0, 2147483646]: Int32 283 SpectreMaskIndex ← BoundsCheck#282, InitializedLength#281 I[0, 2147483646]: Int32 284 GuardElementNotHole ← Elements#280, SpectreMaskIndex#283 814 Goto → block 16 Block 16 299 GuardElementsArePacked ← Elements#280 300 LoadElement ← Elements#280, SpectreMaskIndex#283 Value 815 AssertClass ← Lambda#180 306 Goto → block 17 Block 17 309 Unbox LoadElement#300 to Double (fallible) Double 311 Mul ← Unbox#309, Constant#816 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 312 Goto → block 18 Block 18 319 Elements ← GuardShape#318 Elements 320 StoreElementHole ← GuardShape#318, Elements#319, Phi#265, Mul#311 321 Goto → block 19 Block 19 (backedge) 326 Add ← Phi#265, Constant#37 [int32] I[1, 2147483647]: Int32 327 Goto → block 14 Block 20 330 GuardShape ← NewArrayDynamicLength#256 Object 332 Constant function filter (self-hosted:183) at 104289c47970 Object 333 Constant function complex4/< (-e:18) at 104289c63d60 Object 334 Lambda ← FunctionEnvironment#175, Constant#333 Object 338 Goto → block 21 Block 21 342 DebugCheckSelfHosted ← Box#187 Value 349 DebugCheckSelfHosted ← Box#192 Value 351 GuardShape ← NewArrayDynamicLength#256 Object 352 Elements ← GuardShape#351 Elements 353 ArrayLength ← Elements#352 I[0, 2147483647]: Int32 818 Goto → block 22 Block 22 371 DebugCheckSelfHosted ← Box#214 Value 819 AssertClass ← Lambda#334 821 Goto → block 23 Block 23 823 Goto → block 24 Block 24 395 Goto → block 25 Block 25 399 DebugCheckSelfHosted ← Box#242 Value 402 HasShape ← NewArrayDynamicLength#256 Bool 403 Test ← HasShape#402 → block 26, block 27 1 0 Block 26 405 NewArrayObject ← Constant#30 Object 406 Goto → block 28 Block 27 407 CallGetIntrinsicValue Value 408 DebugCheckSelfHosted ← CallGetIntrinsicValue#407 Value 411 Bail 412 Unreachable Block 28 431 GuardShape ← NewArrayDynamicLength#256 Object 826 Constant 50 I[50, 50]: Double 473 GuardShape ← NewArrayObject#405 Object 415 Goto → block 29 Block 29 (loop header) 416 Phi ← Constant#32, Add#482 I[0 {}, 2147483647 {[loop] #353-1}]: Int32 417 Phi ← Constant#32, Phi#477 Int32 419 InterruptCheck 424 Compare ← Phi#416, ArrayLength#353 Lt Bool 425 Test ← Compare#424 → block 30, block 37 1 0 Block 30 432 Elements ← GuardShape#431 Elements 433 InitializedLength ← Elements#432 I[0, 268435453]: Int32 434 BoundsCheck ← Phi#416, InitializedLength#433 I[0, 2147483646]: Int32 435 SpectreMaskIndex ← BoundsCheck#434, InitializedLength#433 I[0, 2147483646]: Int32 436 GuardElementNotHole ← Elements#432, SpectreMaskIndex#435 824 Goto → block 31 Block 31 451 GuardElementsArePacked ← Elements#432 452 LoadElement ← Elements#432, SpectreMaskIndex#435 Value 825 AssertClass ← Lambda#334 458 Goto → block 32 Block 32 461 Unbox LoadElement#452 to Double (fallible) Double 463 Compare ← Unbox#461, Constant#826 Gt Bool 464 Goto → block 33 Block 33 465 Test ← Compare#463 → block 35, block 34 1 0 Block 34 (split edge) 466 Goto → block 36 Block 35 470 Add ← Phi#417, Constant#37 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 474 Elements ← GuardShape#473 Elements 475 StoreElementHole ← GuardShape#473, Elements#474, Phi#417, LoadElement#452 476 Goto → block 36 Block 36 (backedge) 477 Phi ← Add#470, Phi#417 Int32 482 Add ← Phi#416, Constant#37 [int32] I[1, 2147483647]: Int32 483 Goto → block 29 Block 37 486 GuardShape ← NewArrayObject#405 Object 488 Constant function reduce (self-hosted:205) at 104289c479c0 Object 489 Constant function complex4/< (-e:18) at 104289c63d98 Object 490 Lambda ← FunctionEnvironment#175, Constant#489 Object 495 Call ← Constant#488, NewArrayObject#405, Lambda#490, Constant#32 Value 496 Goto → block 38 Block 38 501 Constant shape at 104289c64fc0 Shape 502 NewPlainObject ← Constant#501 Object 503 GuardShape ← NewPlainObject#502 Object 504 PostWriteBarrier ← GuardShape#503, Call#108 505 StoreFixedSlot ← GuardShape#503, Call#108 (slot 0) 507 PostWriteBarrier ← GuardShape#503, BitOr#134 508 StoreFixedSlot ← GuardShape#503, BitOr#134 (slot 1) 510 PostWriteBarrier ← GuardShape#503, Call#143 511 StoreFixedSlot ← GuardShape#503, Call#143 (slot 2) 515 Goto → block 39 Block 39 518 Constant object 104289c3f078 (Call) Object 519 NewCallObject ← Constant#518 Object 520 Box ← FunctionEnvironment#517 Value 521 AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#520 522 Box ← Constant#76 Value 523 AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#522 524 StoreFixedSlot ← NewCallObject#519, FunctionEnvironment#517 (slot 0) 525 StoreFixedSlot ← NewCallObject#519, Constant#76 (slot 1) 526 PostWriteBarrier ← NewCallObject#519, NewPlainObject#502 527 StoreFixedSlot ← NewCallObject#519, NewPlainObject#502 (slot 2) 828 AssertClass ← NewPlainObject#502 540 ObjectKeys ← NewPlainObject#502 Object 541 GuardShape ← ObjectKeys#540 Object 544 Constant function complex5/< (-e:22) at 104289c63e08 Object 545 Lambda ← NewCallObject#519, Constant#544 Object 549 Goto → block 40 Block 40 553 DebugCheckSelfHosted ← Box#187 Value 558 DebugCheckSelfHosted ← Box#192 Value 560 GuardShape ← ObjectKeys#540 Object 561 Elements ← GuardShape#560 Elements 562 ArrayLength ← Elements#561 I[0, 2147483647]: Int32 830 Goto → block 41 Block 41 580 DebugCheckSelfHosted ← Box#214 Value 831 AssertClass ← Lambda#545 833 Goto → block 42 Block 42 835 Goto → block 43 Block 43 604 Goto → block 44 Block 44 608 DebugCheckSelfHosted ← Box#242 Value 611 HasShape ← ObjectKeys#540 Bool 612 Test ← HasShape#611 → block 45, block 46 1 0 Block 45 615 DebugCheckSelfHosted ← Box#249 Value 618 Unbox DebugCheckSelfHosted#615 to Object (fallible) Object 620 GuardSpecificFunction ← Unbox#618, Constant#248 Object 621 NewArrayDynamicLength ← ArrayLength#562 Object 622 Goto → block 47 Block 46 623 CallGetIntrinsicValue Value 624 DebugCheckSelfHosted ← CallGetIntrinsicValue#623 Value 626 Bail 627 Unreachable Block 47 644 GuardShape ← ObjectKeys#540 Object 674 LoadFixedSlot ← NewCallObject#519 (slot 2) Value 675 Unbox LoadFixedSlot#674 to Object (fallible) Object 683 GuardShape ← NewArrayDynamicLength#621 Object 629 Goto → block 48 Block 48 (loop header) 630 Phi ← Constant#32, Add#691 I[0 {}, 2147483647 {[loop] #562-1}]: Int32 632 InterruptCheck 637 Compare ← Phi#630, ArrayLength#562 Lt Bool 638 Test ← Compare#637 → block 49, block 54 1 0 Block 49 645 Elements ← GuardShape#644 Elements 646 InitializedLength ← Elements#645 I[0, 268435453]: Int32 647 BoundsCheck ← Phi#630, InitializedLength#646 I[0, 2147483646]: Int32 648 SpectreMaskIndex ← BoundsCheck#647, InitializedLength#646 I[0, 2147483646]: Int32 649 GuardElementNotHole ← Elements#645, SpectreMaskIndex#648 836 Goto → block 50 Block 50 664 GuardElementsArePacked ← Elements#645 665 LoadElement ← Elements#645, SpectreMaskIndex#648 Value 837 AssertClass ← Lambda#545 671 Goto → block 51 Block 51 676 MegamorphicLoadSlotByValue ← Unbox#675, LoadElement#665 Value 677 Goto → block 52 Block 52 684 Elements ← GuardShape#683 Elements 685 StoreElementHole ← GuardShape#683, Elements#684, Phi#630, MegamorphicLoadSlotByValue#676 686 Goto → block 53 Block 53 (backedge) 691 Add ← Phi#630, Constant#37 [int32] I[1, 2147483647]: Int32 692 Goto → block 48 Block 54 695 GuardShape ← NewArrayDynamicLength#621 Object 698 Constant function complex5/< (-e:22) at 104289c63e40 Object 699 Lambda ← NewCallObject#519, Constant#698 Object 704 Call ← Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32 Value 705 Goto → block 55 Block 55 (backedge) 709 Add ← Phi#90, Constant#37 [int32] I[1, 10]: Int32 710 Box ← BitOr#134 Value 711 Goto → block 1 Block 56 712 Unbox Phi#85 to Double (fallible) Double 713 Unbox Phi#86 to Double (fallible) Double 714 Add ← Unbox#712, Unbox#713 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 715 Unbox Phi#87 to Double (fallible) Double 716 Add ← Add#714, Unbox#715 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 717 Unbox Phi#88 to Double (fallible) Double 718 Add ← Add#716, Unbox#717 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 719 Unbox Phi#89 to Double (fallible) Double 720 Add ← Add#718, Unbox#719 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 721 Box ← Add#720 Value 722 Return ← Box#721
Block 0 805 Constant magic optimized-out MagicOptimizedOut 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant magic uninitialized-lexical MagicUninitializedLexical 8 Constant function complex1 (-e:2) at 104289c6c8c8 Object 13 Call ← Constant#8, Constant#2, Parameter#1 Value 16 Constant function complex2 (-e:7) at 104289c6c970 Object 21 Call ← Constant#16, Constant#2, Parameter#1 Value 24 Constant function complex3 (-e:11) at 104289c6c938 Object 29 Call ← Constant#24, Constant#2, Parameter#1, Call#13 Value 30 Constant shape at 104289c64f00 Shape 31 NewArrayObject ← Constant#30 Object 32 Constant 0x0 I[0, 0]: Int32 33 Elements ← NewArrayObject#31 Elements 34 PostWriteBarrier ← NewArrayObject#31, Call#13 35 StoreElement ← Elements#33, Constant#32, Call#13 36 SetInitializedLength ← Elements#33, Constant#32 37 Constant 0x1 I[1, 1]: Int32 38 Elements ← NewArrayObject#31 Elements 39 PostWriteBarrier ← NewArrayObject#31, Call#21 40 StoreElement ← Elements#38, Constant#37, Call#21 41 SetInitializedLength ← Elements#38, Constant#37 42 Constant 0x2 I[2, 2]: Int32 43 Elements ← NewArrayObject#31 Elements 44 PostWriteBarrier ← NewArrayObject#31, Call#29 45 StoreElement ← Elements#43, Constant#42, Call#29 46 SetInitializedLength ← Elements#43, Constant#42 47 Constant 0x3 I[3, 3]: Int32 48 Elements ← NewArrayObject#31 Elements 49 PostWriteBarrier ← NewArrayObject#31, Parameter#1 50 StoreElement ← Elements#48, Constant#47, Parameter#1 51 SetInitializedLength ← Elements#48, Constant#47 54 Constant function complex4 (-e:17) at 104289c6c890 Object 59 Call ← Constant#54, Constant#2, NewArrayObject#31 Value 60 Constant shape at 104289c64fa0 Shape 61 NewPlainObject ← Constant#60 Object 62 GuardShape ← NewPlainObject#61 Object 63 PostWriteBarrier ← GuardShape#62, Call#13 64 StoreFixedSlot ← GuardShape#62, Call#13 (slot 0) 66 PostWriteBarrier ← GuardShape#62, Call#21 67 StoreFixedSlot ← GuardShape#62, Call#21 (slot 1) 69 PostWriteBarrier ← GuardShape#62, Call#29 70 StoreFixedSlot ← GuardShape#62, Call#29 (slot 2) 72 PostWriteBarrier ← GuardShape#62, Call#59 73 StoreFixedSlot ← GuardShape#62, Call#59 (slot 3) 76 Constant function complex5 (-e:21) at 104289c6c900 Object 81 Call ← Constant#76, Constant#2, NewPlainObject#61 Value 175 FunctionEnvironment ← Constant#54 Object 517 FunctionEnvironment ← Constant#76 Object 84 Goto → block 1 Block 1 (loop header) 85 Phi ← Call#13, Call#108 Value 86 Phi ← Call#21, Box#710 Value 87 Phi ← Call#29, Call#143 Value 88 Phi ← Call#59, Call#495 Value 89 Phi ← Call#81, Call#704 Value 90 Phi ← Constant#32, Add#709 I[0 {}, 2147483647 {[loop] +9}]: Int32 91 InterruptCheck 92 Constant 0xa I[10, 10]: Int32 95 Compare ← Phi#90, Constant#92 Lt Bool 96 Test ← Compare#95 → block 2, block 56 1 0 Block 2 101 Unbox Phi#85 to Double (fallible) Double 806 ToDouble ← Phi#90 I[0, 9]: Double 104 Add ← Unbox#101, ToDouble#806 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 108 Call ← Constant#8, Constant#2, Add#104 Value 113 Unbox Phi#86 to Int32 (fallible) Int32 116 Add ← Unbox#113, Phi#90 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32 120 Goto → block 3 Block 3 123 Lsh ← Add#116, Constant#37 I[-2147483648, 2147483647]: Int32 125 Rsh ← Add#116, Constant#37 I[-1073741824, 1073741823]: Int32 126 Constant 0xff I[255, 255]: Int32 127 BitAnd ← Add#116, Constant#126 I[0, 255]: Int32 129 Ursh ← Add#116, Constant#42 I[0, 1073741823]: Int32 130 Add ← BitAnd#127, Ursh#129 [int32] I[0, 1073742078]: Int32 131 BitNot ← Add#116 I[-2147483648, 2147483647]: Int32 132 Sub ← Add#130, BitNot#131 [int32] I[-2147483648, 2147483647]: Int32 (t) 133 BitXor ← Rsh#125, Sub#132 I[-2147483648, 2147483647]: Int32 134 BitOr ← Lsh#123, BitXor#133 I[-2147483648, 2147483647]: Int32 135 Goto → block 4 Block 4 143 Call ← Constant#24, Constant#2, Phi#87, Call#108 Value 149 NewArrayObject ← Constant#30 Object 151 Elements ← NewArrayObject#149 Elements 152 PostWriteBarrier ← NewArrayObject#149, Call#108 153 StoreElement ← Elements#151, Constant#32, Call#108 154 SetInitializedLength ← Elements#151, Constant#32 156 Elements ← NewArrayObject#149 Elements 157 PostWriteBarrier ← NewArrayObject#149, BitOr#134 158 StoreElement ← Elements#156, Constant#37, BitOr#134 159 SetInitializedLength ← Elements#156, Constant#37 161 Elements ← NewArrayObject#149 Elements 162 PostWriteBarrier ← NewArrayObject#149, Call#143 163 StoreElement ← Elements#161, Constant#42, Call#143 164 SetInitializedLength ← Elements#161, Constant#42 166 Elements ← NewArrayObject#149 Elements 167 PostWriteBarrier ← NewArrayObject#149, Phi#90 168 StoreElement ← Elements#166, Constant#47, Phi#90 169 SetInitializedLength ← Elements#166, Constant#47 173 Goto → block 5 Block 5 176 GuardShape ← NewArrayObject#149 Object 178 Constant function map (self-hosted:163) at 104289c47920 Object 179 Constant function complex4/< (-e:18) at 104289c63d28 Object 180 Lambda ← FunctionEnvironment#175, Constant#179 Object 184 Goto → block 6 Block 6 186 Constant function ToObject at 104289c6c740 Object 187 Box ← Constant#186 Value 188 DebugCheckSelfHosted ← Box#187 Value 191 Constant function ToLength at 104289c6c778 Object 192 Box ← Constant#191 Value 193 DebugCheckSelfHosted ← Box#192 Value 195 GuardShape ← NewArrayObject#149 Object 196 Elements ← GuardShape#195 Elements 197 ArrayLength ← Elements#196 I[0, 2147483647]: Int32 808 Goto → block 7 Block 7 213 Constant function IsCallable at 104289c6c7b0 Object 214 Box ← Constant#213 Value 215 DebugCheckSelfHosted ← Box#214 Value 809 AssertClass ← Lambda#180 811 Goto → block 8 Block 8 813 Goto → block 9 Block 9 238 Box ← Constant#2 Value 239 Goto → block 10 Block 10 241 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 242 Box ← Constant#241 Value 243 DebugCheckSelfHosted ← Box#242 Value 246 HasShape ← NewArrayObject#149 Bool 247 Test ← HasShape#246 → block 11, block 12 1 0 Block 11 248 Constant function std_Array at 104289c6c820 Object 249 Box ← Constant#248 Value 250 DebugCheckSelfHosted ← Box#249 Value 253 Unbox DebugCheckSelfHosted#250 to Object (fallible) Object 255 GuardSpecificFunction ← Unbox#253, Constant#248 Object 256 NewArrayDynamicLength ← ArrayLength#197 Object 257 Goto → block 13 Block 12 258 CallGetIntrinsicValue Value 259 DebugCheckSelfHosted ← CallGetIntrinsicValue#258 Value 261 Bail 262 Unreachable Block 13 279 GuardShape ← NewArrayObject#149 Object 816 Constant 2 I[2, 2]: Double 318 GuardShape ← NewArrayDynamicLength#256 Object 264 Goto → block 14 Block 14 (loop header) 265 Phi ← Constant#32, Add#326 I[0 {}, 2147483647 {[loop] #197-1}]: Int32 267 InterruptCheck 272 Compare ← Phi#265, ArrayLength#197 Lt Bool 273 Test ← Compare#272 → block 15, block 20 1 0 Block 15 280 Elements ← GuardShape#279 Elements 281 InitializedLength ← Elements#280 I[0, 268435453]: Int32 282 BoundsCheck ← Phi#265, InitializedLength#281 I[0, 2147483646]: Int32 283 SpectreMaskIndex ← BoundsCheck#282, InitializedLength#281 I[0, 2147483646]: Int32 284 GuardElementNotHole ← Elements#280, SpectreMaskIndex#283 814 Goto → block 16 Block 16 299 GuardElementsArePacked ← Elements#280 300 LoadElement ← Elements#280, SpectreMaskIndex#283 Value 815 AssertClass ← Lambda#180 306 Goto → block 17 Block 17 309 Unbox LoadElement#300 to Double (fallible) Double 311 Mul ← Unbox#309, Constant#816 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 312 Goto → block 18 Block 18 319 Elements ← GuardShape#318 Elements 320 StoreElementHole ← GuardShape#318, Elements#319, Phi#265, Mul#311 321 Goto → block 19 Block 19 (backedge) 326 Add ← Phi#265, Constant#37 [int32] I[1, 2147483647]: Int32 327 Goto → block 14 Block 20 330 GuardShape ← NewArrayDynamicLength#256 Object 332 Constant function filter (self-hosted:183) at 104289c47970 Object 333 Constant function complex4/< (-e:18) at 104289c63d60 Object 334 Lambda ← FunctionEnvironment#175, Constant#333 Object 338 Goto → block 21 Block 21 342 DebugCheckSelfHosted ← Box#187 Value 349 DebugCheckSelfHosted ← Box#192 Value 351 GuardShape ← NewArrayDynamicLength#256 Object 352 Elements ← GuardShape#351 Elements 353 ArrayLength ← Elements#352 I[0, 2147483647]: Int32 818 Goto → block 22 Block 22 371 DebugCheckSelfHosted ← Box#214 Value 819 AssertClass ← Lambda#334 821 Goto → block 23 Block 23 823 Goto → block 24 Block 24 395 Goto → block 25 Block 25 399 DebugCheckSelfHosted ← Box#242 Value 402 HasShape ← NewArrayDynamicLength#256 Bool 403 Test ← HasShape#402 → block 26, block 27 1 0 Block 26 405 NewArrayObject ← Constant#30 Object 406 Goto → block 28 Block 27 407 CallGetIntrinsicValue Value 408 DebugCheckSelfHosted ← CallGetIntrinsicValue#407 Value 411 Bail 412 Unreachable Block 28 431 GuardShape ← NewArrayDynamicLength#256 Object 826 Constant 50 I[50, 50]: Double 473 GuardShape ← NewArrayObject#405 Object 415 Goto → block 29 Block 29 (loop header) 416 Phi ← Constant#32, Add#482 I[0 {}, 2147483647 {[loop] #353-1}]: Int32 417 Phi ← Constant#32, Phi#477 Int32 419 InterruptCheck 424 Compare ← Phi#416, ArrayLength#353 Lt Bool 425 Test ← Compare#424 → block 30, block 37 1 0 Block 30 432 Elements ← GuardShape#431 Elements 433 InitializedLength ← Elements#432 I[0, 268435453]: Int32 434 BoundsCheck ← Phi#416, InitializedLength#433 I[0, 2147483646]: Int32 435 SpectreMaskIndex ← BoundsCheck#434, InitializedLength#433 I[0, 2147483646]: Int32 436 GuardElementNotHole ← Elements#432, SpectreMaskIndex#435 824 Goto → block 31 Block 31 451 GuardElementsArePacked ← Elements#432 452 LoadElement ← Elements#432, SpectreMaskIndex#435 Value 825 AssertClass ← Lambda#334 458 Goto → block 32 Block 32 461 Unbox LoadElement#452 to Double (fallible) Double 463 Compare ← Unbox#461, Constant#826 Gt Bool 464 Goto → block 33 Block 33 465 Test ← Compare#463 → block 35, block 34 1 0 Block 34 (split edge) 466 Goto → block 36 Block 35 470 Add ← Phi#417, Constant#37 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 474 Elements ← GuardShape#473 Elements 475 StoreElementHole ← GuardShape#473, Elements#474, Phi#417, LoadElement#452 476 Goto → block 36 Block 36 (backedge) 477 Phi ← Add#470, Phi#417 Int32 482 Add ← Phi#416, Constant#37 [int32] I[1, 2147483647]: Int32 483 Goto → block 29 Block 37 486 GuardShape ← NewArrayObject#405 Object 488 Constant function reduce (self-hosted:205) at 104289c479c0 Object 489 Constant function complex4/< (-e:18) at 104289c63d98 Object 490 Lambda ← FunctionEnvironment#175, Constant#489 Object 495 Call ← Constant#488, NewArrayObject#405, Lambda#490, Constant#32 Value 496 Goto → block 38 Block 38 501 Constant shape at 104289c64fc0 Shape 502 NewPlainObject ← Constant#501 Object 503 GuardShape ← NewPlainObject#502 Object 504 PostWriteBarrier ← GuardShape#503, Call#108 505 StoreFixedSlot ← GuardShape#503, Call#108 (slot 0) 507 PostWriteBarrier ← GuardShape#503, BitOr#134 508 StoreFixedSlot ← GuardShape#503, BitOr#134 (slot 1) 510 PostWriteBarrier ← GuardShape#503, Call#143 511 StoreFixedSlot ← GuardShape#503, Call#143 (slot 2) 515 Goto → block 39 Block 39 518 Constant object 104289c3f078 (Call) Object 519 NewCallObject ← Constant#518 Object 520 Box ← FunctionEnvironment#517 Value 521 AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#520 522 Box ← Constant#76 Value 523 AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#522 524 StoreFixedSlot ← NewCallObject#519, FunctionEnvironment#517 (slot 0) 525 StoreFixedSlot ← NewCallObject#519, Constant#76 (slot 1) 526 PostWriteBarrier ← NewCallObject#519, NewPlainObject#502 527 StoreFixedSlot ← NewCallObject#519, NewPlainObject#502 (slot 2) 828 AssertClass ← NewPlainObject#502 540 ObjectKeys ← NewPlainObject#502 Object 541 GuardShape ← ObjectKeys#540 Object 544 Constant function complex5/< (-e:22) at 104289c63e08 Object 545 Lambda ← NewCallObject#519, Constant#544 Object 549 Goto → block 40 Block 40 553 DebugCheckSelfHosted ← Box#187 Value 558 DebugCheckSelfHosted ← Box#192 Value 560 GuardShape ← ObjectKeys#540 Object 561 Elements ← GuardShape#560 Elements 562 ArrayLength ← Elements#561 I[0, 2147483647]: Int32 830 Goto → block 41 Block 41 580 DebugCheckSelfHosted ← Box#214 Value 831 AssertClass ← Lambda#545 833 Goto → block 42 Block 42 835 Goto → block 43 Block 43 604 Goto → block 44 Block 44 608 DebugCheckSelfHosted ← Box#242 Value 611 HasShape ← ObjectKeys#540 Bool 612 Test ← HasShape#611 → block 45, block 46 1 0 Block 45 615 DebugCheckSelfHosted ← Box#249 Value 618 Unbox DebugCheckSelfHosted#615 to Object (fallible) Object 620 GuardSpecificFunction ← Unbox#618, Constant#248 Object 621 NewArrayDynamicLength ← ArrayLength#562 Object 622 Goto → block 47 Block 46 623 CallGetIntrinsicValue Value 624 DebugCheckSelfHosted ← CallGetIntrinsicValue#623 Value 626 Bail 627 Unreachable Block 47 644 GuardShape ← ObjectKeys#540 Object 674 LoadFixedSlot ← NewCallObject#519 (slot 2) Value 675 Unbox LoadFixedSlot#674 to Object (fallible) Object 683 GuardShape ← NewArrayDynamicLength#621 Object 629 Goto → block 48 Block 48 (loop header) 630 Phi ← Constant#32, Add#691 I[0 {}, 2147483647 {[loop] #562-1}]: Int32 632 InterruptCheck 637 Compare ← Phi#630, ArrayLength#562 Lt Bool 638 Test ← Compare#637 → block 49, block 54 1 0 Block 49 645 Elements ← GuardShape#644 Elements 646 InitializedLength ← Elements#645 I[0, 268435453]: Int32 647 BoundsCheck ← Phi#630, InitializedLength#646 I[0, 2147483646]: Int32 648 SpectreMaskIndex ← BoundsCheck#647, InitializedLength#646 I[0, 2147483646]: Int32 649 GuardElementNotHole ← Elements#645, SpectreMaskIndex#648 836 Goto → block 50 Block 50 664 GuardElementsArePacked ← Elements#645 665 LoadElement ← Elements#645, SpectreMaskIndex#648 Value 837 AssertClass ← Lambda#545 671 Goto → block 51 Block 51 676 MegamorphicLoadSlotByValue ← Unbox#675, LoadElement#665 Value 677 Goto → block 52 Block 52 684 Elements ← GuardShape#683 Elements 685 StoreElementHole ← GuardShape#683, Elements#684, Phi#630, MegamorphicLoadSlotByValue#676 686 Goto → block 53 Block 53 (backedge) 691 Add ← Phi#630, Constant#37 [int32] I[1, 2147483647]: Int32 692 Goto → block 48 Block 54 695 GuardShape ← NewArrayDynamicLength#621 Object 698 Constant function complex5/< (-e:22) at 104289c63e40 Object 699 Lambda ← NewCallObject#519, Constant#698 Object 704 Call ← Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32 Value 705 Goto → block 55 Block 55 (backedge) 709 Add ← Phi#90, Constant#37 [int32] I[1, 10]: Int32 710 Box ← BitOr#134 Value 711 Goto → block 1 Block 56 712 Unbox Phi#85 to Double (fallible) Double 713 Unbox Phi#86 to Double (fallible) Double 714 Add ← Unbox#712, Unbox#713 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 715 Unbox Phi#87 to Double (fallible) Double 716 Add ← Add#714, Unbox#715 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 717 Unbox Phi#88 to Double (fallible) Double 718 Add ← Add#716, Unbox#717 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 719 Unbox Phi#89 to Double (fallible) Double 720 Add ← Add#718, Unbox#719 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 721 Box ← Add#720 Value 722 Return ← Box#721
Block 0 805 Constant magic optimized-out MagicOptimizedOut 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant magic uninitialized-lexical MagicUninitializedLexical 8 Constant function complex1 (-e:2) at 104289c6c8c8 Object 13 Call ← Constant#8, Constant#2, Parameter#1 Value 16 Constant function complex2 (-e:7) at 104289c6c970 Object 21 Call ← Constant#16, Constant#2, Parameter#1 Value 24 Constant function complex3 (-e:11) at 104289c6c938 Object 29 Call ← Constant#24, Constant#2, Parameter#1, Call#13 Value 30 Constant shape at 104289c64f00 Shape 31 NewArrayObject ← Constant#30 Object 32 Constant 0x0 I[0, 0]: Int32 33 Elements ← NewArrayObject#31 Elements 34 PostWriteBarrier ← NewArrayObject#31, Call#13 35 StoreElement ← Elements#33, Constant#32, Call#13 36 SetInitializedLength ← Elements#33, Constant#32 37 Constant 0x1 I[1, 1]: Int32 38 Elements ← NewArrayObject#31 Elements 39 PostWriteBarrier ← NewArrayObject#31, Call#21 40 StoreElement ← Elements#38, Constant#37, Call#21 41 SetInitializedLength ← Elements#38, Constant#37 42 Constant 0x2 I[2, 2]: Int32 43 Elements ← NewArrayObject#31 Elements 44 PostWriteBarrier ← NewArrayObject#31, Call#29 45 StoreElement ← Elements#43, Constant#42, Call#29 46 SetInitializedLength ← Elements#43, Constant#42 47 Constant 0x3 I[3, 3]: Int32 48 Elements ← NewArrayObject#31 Elements 49 PostWriteBarrier ← NewArrayObject#31, Parameter#1 50 StoreElement ← Elements#48, Constant#47, Parameter#1 51 SetInitializedLength ← Elements#48, Constant#47 54 Constant function complex4 (-e:17) at 104289c6c890 Object 59 Call ← Constant#54, Constant#2, NewArrayObject#31 Value 60 Constant shape at 104289c64fa0 Shape 61 NewPlainObject ← Constant#60 Object 62 GuardShape ← NewPlainObject#61 Object 63 PostWriteBarrier ← GuardShape#62, Call#13 64 StoreFixedSlot ← GuardShape#62, Call#13 (slot 0) 66 PostWriteBarrier ← GuardShape#62, Call#21 67 StoreFixedSlot ← GuardShape#62, Call#21 (slot 1) 69 PostWriteBarrier ← GuardShape#62, Call#29 70 StoreFixedSlot ← GuardShape#62, Call#29 (slot 2) 72 PostWriteBarrier ← GuardShape#62, Call#59 73 StoreFixedSlot ← GuardShape#62, Call#59 (slot 3) 76 Constant function complex5 (-e:21) at 104289c6c900 Object 81 Call ← Constant#76, Constant#2, NewPlainObject#61 Value 175 FunctionEnvironment ← Constant#54 Object 517 FunctionEnvironment ← Constant#76 Object 84 Goto → block 1 Block 1 (loop header) 85 Phi ← Call#13, Call#108 Value 86 Phi ← Call#21, Box#710 Value 87 Phi ← Call#29, Call#143 Value 88 Phi ← Call#59, Call#495 Value 89 Phi ← Call#81, Call#704 Value 90 Phi ← Constant#32, Add#709 I[0 {}, 2147483647 {[loop] +9}]: Int32 91 InterruptCheck 92 Constant 0xa I[10, 10]: Int32 95 Compare ← Phi#90, Constant#92 Lt Bool 96 Test ← Compare#95 → block 2, block 56 1 0 Block 2 101 Unbox Phi#85 to Double (fallible) Double 806 ToDouble ← Phi#90 I[0, 9]: Double 104 Add ← Unbox#101, ToDouble#806 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 108 Call ← Constant#8, Constant#2, Add#104 Value 113 Unbox Phi#86 to Int32 (fallible) Int32 116 Add ← Unbox#113, Phi#90 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32 120 Goto → block 3 Block 3 123 Lsh ← Add#116, Constant#37 I[-2147483648, 2147483647]: Int32 125 Rsh ← Add#116, Constant#37 I[-1073741824, 1073741823]: Int32 126 Constant 0xff I[255, 255]: Int32 127 BitAnd ← Add#116, Constant#126 I[0, 255]: Int32 129 Ursh ← Add#116, Constant#42 I[0, 1073741823]: Int32 130 Add ← BitAnd#127, Ursh#129 [int32] I[0, 1073742078]: Int32 131 BitNot ← Add#116 I[-2147483648, 2147483647]: Int32 132 Sub ← Add#130, BitNot#131 [int32] I[-2147483648, 2147483647]: Int32 (t) 133 BitXor ← Rsh#125, Sub#132 I[-2147483648, 2147483647]: Int32 134 BitOr ← Lsh#123, BitXor#133 I[-2147483648, 2147483647]: Int32 135 Goto → block 4 Block 4 143 Call ← Constant#24, Constant#2, Phi#87, Call#108 Value 149 NewArrayObject ← Constant#30 Object 151 Elements ← NewArrayObject#149 Elements 152 PostWriteBarrier ← NewArrayObject#149, Call#108 153 StoreElement ← Elements#151, Constant#32, Call#108 154 SetInitializedLength ← Elements#151, Constant#32 156 Elements ← NewArrayObject#149 Elements 157 PostWriteBarrier ← NewArrayObject#149, BitOr#134 158 StoreElement ← Elements#156, Constant#37, BitOr#134 159 SetInitializedLength ← Elements#156, Constant#37 161 Elements ← NewArrayObject#149 Elements 162 PostWriteBarrier ← NewArrayObject#149, Call#143 163 StoreElement ← Elements#161, Constant#42, Call#143 164 SetInitializedLength ← Elements#161, Constant#42 166 Elements ← NewArrayObject#149 Elements 167 PostWriteBarrier ← NewArrayObject#149, Phi#90 168 StoreElement ← Elements#166, Constant#47, Phi#90 169 SetInitializedLength ← Elements#166, Constant#47 173 Goto → block 5 Block 5 176 GuardShape ← NewArrayObject#149 Object 178 Constant function map (self-hosted:163) at 104289c47920 Object 179 Constant function complex4/< (-e:18) at 104289c63d28 Object 180 Lambda ← FunctionEnvironment#175, Constant#179 Object 184 Goto → block 6 Block 6 186 Constant function ToObject at 104289c6c740 Object 187 Box ← Constant#186 Value 188 DebugCheckSelfHosted ← Box#187 Value 191 Constant function ToLength at 104289c6c778 Object 192 Box ← Constant#191 Value 193 DebugCheckSelfHosted ← Box#192 Value 195 GuardShape ← NewArrayObject#149 Object 196 Elements ← GuardShape#195 Elements 197 ArrayLength ← Elements#196 I[0, 2147483647]: Int32 808 Goto → block 7 Block 7 213 Constant function IsCallable at 104289c6c7b0 Object 214 Box ← Constant#213 Value 215 DebugCheckSelfHosted ← Box#214 Value 809 AssertClass ← Lambda#180 811 Goto → block 8 Block 8 813 Goto → block 9 Block 9 238 Box ← Constant#2 Value 239 Goto → block 10 Block 10 241 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 242 Box ← Constant#241 Value 243 DebugCheckSelfHosted ← Box#242 Value 246 HasShape ← NewArrayObject#149 Bool 247 Test ← HasShape#246 → block 11, block 12 1 0 Block 11 248 Constant function std_Array at 104289c6c820 Object 249 Box ← Constant#248 Value 250 DebugCheckSelfHosted ← Box#249 Value 253 Unbox DebugCheckSelfHosted#250 to Object (fallible) Object 255 GuardSpecificFunction ← Unbox#253, Constant#248 Object 256 NewArrayDynamicLength ← ArrayLength#197 Object 257 Goto → block 13 Block 12 258 CallGetIntrinsicValue Value 259 DebugCheckSelfHosted ← CallGetIntrinsicValue#258 Value 261 Bail 262 Unreachable Block 13 279 GuardShape ← NewArrayObject#149 Object 816 Constant 2 I[2, 2]: Double 318 GuardShape ← NewArrayDynamicLength#256 Object 264 Goto → block 14 Block 14 (loop header) 265 Phi ← Constant#32, Add#326 I[0 {}, 2147483647 {[loop] #197-1}]: Int32 267 InterruptCheck 272 Compare ← Phi#265, ArrayLength#197 Lt Bool 273 Test ← Compare#272 → block 15, block 20 1 0 Block 15 280 Elements ← GuardShape#279 Elements 281 InitializedLength ← Elements#280 I[0, 268435453]: Int32 282 BoundsCheck ← Phi#265, InitializedLength#281 I[0, 2147483646]: Int32 283 SpectreMaskIndex ← BoundsCheck#282, InitializedLength#281 I[0, 2147483646]: Int32 284 GuardElementNotHole ← Elements#280, SpectreMaskIndex#283 814 Goto → block 16 Block 16 299 GuardElementsArePacked ← Elements#280 300 LoadElement ← Elements#280, SpectreMaskIndex#283 Value 815 AssertClass ← Lambda#180 306 Goto → block 17 Block 17 309 Unbox LoadElement#300 to Double (fallible) Double 311 Mul ← Unbox#309, Constant#816 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 312 Goto → block 18 Block 18 319 Elements ← GuardShape#318 Elements 320 StoreElementHole ← GuardShape#318, Elements#319, Phi#265, Mul#311 321 Goto → block 19 Block 19 (backedge) 326 Add ← Phi#265, Constant#37 [int32] I[1, 2147483647]: Int32 327 Goto → block 14 Block 20 330 GuardShape ← NewArrayDynamicLength#256 Object 332 Constant function filter (self-hosted:183) at 104289c47970 Object 333 Constant function complex4/< (-e:18) at 104289c63d60 Object 334 Lambda ← FunctionEnvironment#175, Constant#333 Object 338 Goto → block 21 Block 21 342 DebugCheckSelfHosted ← Box#187 Value 349 DebugCheckSelfHosted ← Box#192 Value 351 GuardShape ← NewArrayDynamicLength#256 Object 352 Elements ← GuardShape#351 Elements 353 ArrayLength ← Elements#352 I[0, 2147483647]: Int32 818 Goto → block 22 Block 22 371 DebugCheckSelfHosted ← Box#214 Value 819 AssertClass ← Lambda#334 821 Goto → block 23 Block 23 823 Goto → block 24 Block 24 395 Goto → block 25 Block 25 399 DebugCheckSelfHosted ← Box#242 Value 402 HasShape ← NewArrayDynamicLength#256 Bool 403 Test ← HasShape#402 → block 26, block 27 1 0 Block 26 405 NewArrayObject ← Constant#30 Object 406 Goto → block 28 Block 27 407 CallGetIntrinsicValue Value 408 DebugCheckSelfHosted ← CallGetIntrinsicValue#407 Value 411 Bail 412 Unreachable Block 28 431 GuardShape ← NewArrayDynamicLength#256 Object 826 Constant 50 I[50, 50]: Double 473 GuardShape ← NewArrayObject#405 Object 415 Goto → block 29 Block 29 (loop header) 416 Phi ← Constant#32, Add#482 I[0 {}, 2147483647 {[loop] #353-1}]: Int32 417 Phi ← Constant#32, Phi#477 Int32 419 InterruptCheck 424 Compare ← Phi#416, ArrayLength#353 Lt Bool 425 Test ← Compare#424 → block 30, block 37 1 0 Block 30 432 Elements ← GuardShape#431 Elements 433 InitializedLength ← Elements#432 I[0, 268435453]: Int32 434 BoundsCheck ← Phi#416, InitializedLength#433 I[0, 2147483646]: Int32 435 SpectreMaskIndex ← BoundsCheck#434, InitializedLength#433 I[0, 2147483646]: Int32 436 GuardElementNotHole ← Elements#432, SpectreMaskIndex#435 824 Goto → block 31 Block 31 451 GuardElementsArePacked ← Elements#432 452 LoadElement ← Elements#432, SpectreMaskIndex#435 Value 825 AssertClass ← Lambda#334 458 Goto → block 32 Block 32 461 Unbox LoadElement#452 to Double (fallible) Double 463 Compare ← Unbox#461, Constant#826 Gt Bool 464 Goto → block 33 Block 33 465 Test ← Compare#463 → block 35, block 34 1 0 Block 34 (split edge) 466 Goto → block 36 Block 35 470 Add ← Phi#417, Constant#37 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 474 Elements ← GuardShape#473 Elements 475 StoreElementHole ← GuardShape#473, Elements#474, Phi#417, LoadElement#452 476 Goto → block 36 Block 36 (backedge) 477 Phi ← Add#470, Phi#417 Int32 482 Add ← Phi#416, Constant#37 [int32] I[1, 2147483647]: Int32 483 Goto → block 29 Block 37 486 GuardShape ← NewArrayObject#405 Object 488 Constant function reduce (self-hosted:205) at 104289c479c0 Object 489 Constant function complex4/< (-e:18) at 104289c63d98 Object 490 Lambda ← FunctionEnvironment#175, Constant#489 Object 495 Call ← Constant#488, NewArrayObject#405, Lambda#490, Constant#32 Value 496 Goto → block 38 Block 38 501 Constant shape at 104289c64fc0 Shape 502 NewPlainObject ← Constant#501 Object 503 GuardShape ← NewPlainObject#502 Object 504 PostWriteBarrier ← GuardShape#503, Call#108 505 StoreFixedSlot ← GuardShape#503, Call#108 (slot 0) 507 PostWriteBarrier ← GuardShape#503, BitOr#134 508 StoreFixedSlot ← GuardShape#503, BitOr#134 (slot 1) 510 PostWriteBarrier ← GuardShape#503, Call#143 511 StoreFixedSlot ← GuardShape#503, Call#143 (slot 2) 515 Goto → block 39 Block 39 518 Constant object 104289c3f078 (Call) Object 519 NewCallObject ← Constant#518 Object 520 Box ← FunctionEnvironment#517 Value 521 AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#520 522 Box ← Constant#76 Value 523 AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#522 524 StoreFixedSlot ← NewCallObject#519, FunctionEnvironment#517 (slot 0) 525 StoreFixedSlot ← NewCallObject#519, Constant#76 (slot 1) 526 PostWriteBarrier ← NewCallObject#519, NewPlainObject#502 527 StoreFixedSlot ← NewCallObject#519, NewPlainObject#502 (slot 2) 828 AssertClass ← NewPlainObject#502 540 ObjectKeys ← NewPlainObject#502 Object 541 GuardShape ← ObjectKeys#540 Object 544 Constant function complex5/< (-e:22) at 104289c63e08 Object 545 Lambda ← NewCallObject#519, Constant#544 Object 549 Goto → block 40 Block 40 553 DebugCheckSelfHosted ← Box#187 Value 558 DebugCheckSelfHosted ← Box#192 Value 560 GuardShape ← ObjectKeys#540 Object 561 Elements ← GuardShape#560 Elements 562 ArrayLength ← Elements#561 I[0, 2147483647]: Int32 830 Goto → block 41 Block 41 580 DebugCheckSelfHosted ← Box#214 Value 831 AssertClass ← Lambda#545 833 Goto → block 42 Block 42 835 Goto → block 43 Block 43 604 Goto → block 44 Block 44 608 DebugCheckSelfHosted ← Box#242 Value 611 HasShape ← ObjectKeys#540 Bool 612 Test ← HasShape#611 → block 45, block 46 1 0 Block 45 615 DebugCheckSelfHosted ← Box#249 Value 618 Unbox DebugCheckSelfHosted#615 to Object (fallible) Object 620 GuardSpecificFunction ← Unbox#618, Constant#248 Object 621 NewArrayDynamicLength ← ArrayLength#562 Object 622 Goto → block 47 Block 46 623 CallGetIntrinsicValue Value 624 DebugCheckSelfHosted ← CallGetIntrinsicValue#623 Value 626 Bail 627 Unreachable Block 47 644 GuardShape ← ObjectKeys#540 Object 674 LoadFixedSlot ← NewCallObject#519 (slot 2) Value 675 Unbox LoadFixedSlot#674 to Object (fallible) Object 683 GuardShape ← NewArrayDynamicLength#621 Object 629 Goto → block 48 Block 48 (loop header) 630 Phi ← Constant#32, Add#691 I[0 {}, 2147483647 {[loop] #562-1}]: Int32 632 InterruptCheck 637 Compare ← Phi#630, ArrayLength#562 Lt Bool 638 Test ← Compare#637 → block 49, block 54 1 0 Block 49 645 Elements ← GuardShape#644 Elements 646 InitializedLength ← Elements#645 I[0, 268435453]: Int32 647 BoundsCheck ← Phi#630, InitializedLength#646 I[0, 2147483646]: Int32 648 SpectreMaskIndex ← BoundsCheck#647, InitializedLength#646 I[0, 2147483646]: Int32 649 GuardElementNotHole ← Elements#645, SpectreMaskIndex#648 836 Goto → block 50 Block 50 664 GuardElementsArePacked ← Elements#645 665 LoadElement ← Elements#645, SpectreMaskIndex#648 Value 837 AssertClass ← Lambda#545 671 Goto → block 51 Block 51 676 MegamorphicLoadSlotByValue ← Unbox#675, LoadElement#665 Value 677 Goto → block 52 Block 52 684 Elements ← GuardShape#683 Elements 685 StoreElementHole ← GuardShape#683, Elements#684, Phi#630, MegamorphicLoadSlotByValue#676 686 Goto → block 53 Block 53 (backedge) 691 Add ← Phi#630, Constant#37 [int32] I[1, 2147483647]: Int32 692 Goto → block 48 Block 54 695 GuardShape ← NewArrayDynamicLength#621 Object 698 Constant function complex5/< (-e:22) at 104289c63e40 Object 699 Lambda ← NewCallObject#519, Constant#698 Object 704 Call ← Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32 Value 705 Goto → block 55 Block 55 (backedge) 709 Add ← Phi#90, Constant#37 [int32] I[1, 10]: Int32 710 Box ← BitOr#134 Value 711 Goto → block 1 Block 56 712 Unbox Phi#85 to Double (fallible) Double 713 Unbox Phi#86 to Double (fallible) Double 714 Add ← Unbox#712, Unbox#713 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 715 Unbox Phi#87 to Double (fallible) Double 716 Add ← Add#714, Unbox#715 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 717 Unbox Phi#88 to Double (fallible) Double 718 Add ← Add#716, Unbox#717 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 719 Unbox Phi#89 to Double (fallible) Double 720 Add ← Add#718, Unbox#719 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 721 Box ← Add#720 Value 722 Return ← Box#721
Block 0 805 Constant magic optimized-out MagicOptimizedOut 0 Parameter THIS_SLOT Value 1 Parameter 0 Value 2 Constant undefined Undefined 3 Start 4 CheckOverRecursed 5 Constant magic uninitialized-lexical MagicUninitializedLexical 8 Constant function complex1 (-e:2) at 104289c6c8c8 Object 13 Call ← Constant#8, Constant#2, Parameter#1 Value 16 Constant function complex2 (-e:7) at 104289c6c970 Object 21 Call ← Constant#16, Constant#2, Parameter#1 Value 24 Constant function complex3 (-e:11) at 104289c6c938 Object 29 Call ← Constant#24, Constant#2, Parameter#1, Call#13 Value 30 Constant shape at 104289c64f00 Shape 31 NewArrayObject ← Constant#30 Object 32 Constant 0x0 I[0, 0]: Int32 33 Elements ← NewArrayObject#31 Elements 34 PostWriteBarrier ← NewArrayObject#31, Call#13 35 StoreElement ← Elements#33, Constant#32, Call#13 36 SetInitializedLength ← Elements#33, Constant#32 37 Constant 0x1 I[1, 1]: Int32 38 Elements ← NewArrayObject#31 Elements 39 PostWriteBarrier ← NewArrayObject#31, Call#21 40 StoreElement ← Elements#38, Constant#37, Call#21 41 SetInitializedLength ← Elements#38, Constant#37 42 Constant 0x2 I[2, 2]: Int32 43 Elements ← NewArrayObject#31 Elements 44 PostWriteBarrier ← NewArrayObject#31, Call#29 45 StoreElement ← Elements#43, Constant#42, Call#29 46 SetInitializedLength ← Elements#43, Constant#42 47 Constant 0x3 I[3, 3]: Int32 48 Elements ← NewArrayObject#31 Elements 49 PostWriteBarrier ← NewArrayObject#31, Parameter#1 50 StoreElement ← Elements#48, Constant#47, Parameter#1 51 SetInitializedLength ← Elements#48, Constant#47 54 Constant function complex4 (-e:17) at 104289c6c890 Object 59 Call ← Constant#54, Constant#2, NewArrayObject#31 Value 60 Constant shape at 104289c64fa0 Shape 61 NewPlainObject ← Constant#60 Object 62 GuardShape ← NewPlainObject#61 Object 63 PostWriteBarrier ← GuardShape#62, Call#13 64 StoreFixedSlot ← GuardShape#62, Call#13 (slot 0) 66 PostWriteBarrier ← GuardShape#62, Call#21 67 StoreFixedSlot ← GuardShape#62, Call#21 (slot 1) 69 PostWriteBarrier ← GuardShape#62, Call#29 70 StoreFixedSlot ← GuardShape#62, Call#29 (slot 2) 72 PostWriteBarrier ← GuardShape#62, Call#59 73 StoreFixedSlot ← GuardShape#62, Call#59 (slot 3) 76 Constant function complex5 (-e:21) at 104289c6c900 Object 81 Call ← Constant#76, Constant#2, NewPlainObject#61 Value 175 FunctionEnvironment ← Constant#54 Object 517 FunctionEnvironment ← Constant#76 Object 84 Goto → block 1 Block 1 (loop header) 85 Phi ← Call#13, Call#108 Value 86 Phi ← Call#21, Box#710 Value 87 Phi ← Call#29, Call#143 Value 88 Phi ← Call#59, Call#495 Value 89 Phi ← Call#81, Call#704 Value 90 Phi ← Constant#32, Add#709 I[0 {}, 2147483647 {[loop] +9}]: Int32 91 InterruptCheck 92 Constant 0xa I[10, 10]: Int32 95 Compare ← Phi#90, Constant#92 Lt Bool 96 Test ← Compare#95 → block 2, block 56 1 0 Block 2 101 Unbox Phi#85 to Double (fallible) Double 806 ToDouble ← Phi#90 I[0, 9]: Double 104 Add ← Unbox#101, ToDouble#806 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 108 Call ← Constant#8, Constant#2, Add#104 Value 113 Unbox Phi#86 to Int32 (fallible) Int32 116 Add ← Unbox#113, Phi#90 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32 120 Goto → block 3 Block 3 123 Lsh ← Add#116, Constant#37 I[-2147483648, 2147483647]: Int32 125 Rsh ← Add#116, Constant#37 I[-1073741824, 1073741823]: Int32 126 Constant 0xff I[255, 255]: Int32 127 BitAnd ← Add#116, Constant#126 I[0, 255]: Int32 129 Ursh ← Add#116, Constant#42 I[0, 1073741823]: Int32 130 Add ← BitAnd#127, Ursh#129 [int32] I[0, 1073742078]: Int32 131 BitNot ← Add#116 I[-2147483648, 2147483647]: Int32 132 Sub ← Add#130, BitNot#131 [int32] I[-2147483648, 2147483647]: Int32 (t) 133 BitXor ← Rsh#125, Sub#132 I[-2147483648, 2147483647]: Int32 134 BitOr ← Lsh#123, BitXor#133 I[-2147483648, 2147483647]: Int32 135 Goto → block 4 Block 4 143 Call ← Constant#24, Constant#2, Phi#87, Call#108 Value 149 NewArrayObject ← Constant#30 Object 151 Elements ← NewArrayObject#149 Elements 152 PostWriteBarrier ← NewArrayObject#149, Call#108 153 StoreElement ← Elements#151, Constant#32, Call#108 154 SetInitializedLength ← Elements#151, Constant#32 156 Elements ← NewArrayObject#149 Elements 157 PostWriteBarrier ← NewArrayObject#149, BitOr#134 158 StoreElement ← Elements#156, Constant#37, BitOr#134 159 SetInitializedLength ← Elements#156, Constant#37 161 Elements ← NewArrayObject#149 Elements 162 PostWriteBarrier ← NewArrayObject#149, Call#143 163 StoreElement ← Elements#161, Constant#42, Call#143 164 SetInitializedLength ← Elements#161, Constant#42 166 Elements ← NewArrayObject#149 Elements 167 PostWriteBarrier ← NewArrayObject#149, Phi#90 168 StoreElement ← Elements#166, Constant#47, Phi#90 169 SetInitializedLength ← Elements#166, Constant#47 173 Goto → block 5 Block 5 176 GuardShape ← NewArrayObject#149 Object 178 Constant function map (self-hosted:163) at 104289c47920 Object 179 Constant function complex4/< (-e:18) at 104289c63d28 Object 180 Lambda ← FunctionEnvironment#175, Constant#179 Object 184 Goto → block 6 Block 6 186 Constant function ToObject at 104289c6c740 Object 187 Box ← Constant#186 Value 188 DebugCheckSelfHosted ← Box#187 Value 191 Constant function ToLength at 104289c6c778 Object 192 Box ← Constant#191 Value 193 DebugCheckSelfHosted ← Box#192 Value 195 GuardShape ← NewArrayObject#149 Object 196 Elements ← GuardShape#195 Elements 197 ArrayLength ← Elements#196 I[0, 2147483647]: Int32 808 Goto → block 7 Block 7 213 Constant function IsCallable at 104289c6c7b0 Object 214 Box ← Constant#213 Value 215 DebugCheckSelfHosted ← Box#214 Value 809 AssertClass ← Lambda#180 811 Goto → block 8 Block 8 813 Goto → block 9 Block 9 238 Box ← Constant#2 Value 239 Goto → block 10 Block 10 241 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 242 Box ← Constant#241 Value 243 DebugCheckSelfHosted ← Box#242 Value 246 HasShape ← NewArrayObject#149 Bool 247 Test ← HasShape#246 → block 11, block 12 1 0 Block 11 248 Constant function std_Array at 104289c6c820 Object 249 Box ← Constant#248 Value 250 DebugCheckSelfHosted ← Box#249 Value 253 Unbox DebugCheckSelfHosted#250 to Object (fallible) Object 255 GuardSpecificFunction ← Unbox#253, Constant#248 Object 256 NewArrayDynamicLength ← ArrayLength#197 Object 257 Goto → block 13 Block 12 258 CallGetIntrinsicValue Value 259 DebugCheckSelfHosted ← CallGetIntrinsicValue#258 Value 261 Bail 262 Unreachable Block 13 279 GuardShape ← NewArrayObject#149 Object 816 Constant 2 I[2, 2]: Double 318 GuardShape ← NewArrayDynamicLength#256 Object 264 Goto → block 14 Block 14 (loop header) 265 Phi ← Constant#32, Add#326 I[0 {}, 2147483647 {[loop] #197-1}]: Int32 267 InterruptCheck 272 Compare ← Phi#265, ArrayLength#197 Lt Bool 273 Test ← Compare#272 → block 15, block 20 1 0 Block 15 280 Elements ← GuardShape#279 Elements 281 InitializedLength ← Elements#280 I[0, 268435453]: Int32 282 BoundsCheck ← Phi#265, InitializedLength#281 I[0, 2147483646]: Int32 283 SpectreMaskIndex ← BoundsCheck#282, InitializedLength#281 I[0, 2147483646]: Int32 284 GuardElementNotHole ← Elements#280, SpectreMaskIndex#283 814 Goto → block 16 Block 16 299 GuardElementsArePacked ← Elements#280 300 LoadElement ← Elements#280, SpectreMaskIndex#283 Value 815 AssertClass ← Lambda#180 306 Goto → block 17 Block 17 309 Unbox LoadElement#300 to Double (fallible) Double 311 Mul ← Unbox#309, Constant#816 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 312 Goto → block 18 Block 18 319 Elements ← GuardShape#318 Elements 320 StoreElementHole ← GuardShape#318, Elements#319, Phi#265, Mul#311 321 Goto → block 19 Block 19 (backedge) 326 Add ← Phi#265, Constant#37 [int32] I[1, 2147483647]: Int32 327 Goto → block 14 Block 20 330 GuardShape ← NewArrayDynamicLength#256 Object 332 Constant function filter (self-hosted:183) at 104289c47970 Object 333 Constant function complex4/< (-e:18) at 104289c63d60 Object 334 Lambda ← FunctionEnvironment#175, Constant#333 Object 338 Goto → block 21 Block 21 342 DebugCheckSelfHosted ← Box#187 Value 349 DebugCheckSelfHosted ← Box#192 Value 351 GuardShape ← NewArrayDynamicLength#256 Object 352 Elements ← GuardShape#351 Elements 353 ArrayLength ← Elements#352 I[0, 2147483647]: Int32 818 Goto → block 22 Block 22 371 DebugCheckSelfHosted ← Box#214 Value 819 AssertClass ← Lambda#334 821 Goto → block 23 Block 23 823 Goto → block 24 Block 24 395 Goto → block 25 Block 25 399 DebugCheckSelfHosted ← Box#242 Value 402 HasShape ← NewArrayDynamicLength#256 Bool 403 Test ← HasShape#402 → block 26, block 27 1 0 Block 26 405 NewArrayObject ← Constant#30 Object 406 Goto → block 28 Block 27 407 CallGetIntrinsicValue Value 408 DebugCheckSelfHosted ← CallGetIntrinsicValue#407 Value 411 Bail 412 Unreachable Block 28 431 GuardShape ← NewArrayDynamicLength#256 Object 826 Constant 50 I[50, 50]: Double 473 GuardShape ← NewArrayObject#405 Object 415 Goto → block 29 Block 29 (loop header) 416 Phi ← Constant#32, Add#482 I[0 {}, 2147483647 {[loop] #353-1}]: Int32 417 Phi ← Constant#32, Phi#477 Int32 419 InterruptCheck 424 Compare ← Phi#416, ArrayLength#353 Lt Bool 425 Test ← Compare#424 → block 30, block 37 1 0 Block 30 432 Elements ← GuardShape#431 Elements 433 InitializedLength ← Elements#432 I[0, 268435453]: Int32 434 BoundsCheck ← Phi#416, InitializedLength#433 I[0, 2147483646]: Int32 435 SpectreMaskIndex ← BoundsCheck#434, InitializedLength#433 I[0, 2147483646]: Int32 436 GuardElementNotHole ← Elements#432, SpectreMaskIndex#435 824 Goto → block 31 Block 31 451 GuardElementsArePacked ← Elements#432 452 LoadElement ← Elements#432, SpectreMaskIndex#435 Value 825 AssertClass ← Lambda#334 458 Goto → block 32 Block 32 461 Unbox LoadElement#452 to Double (fallible) Double 463 Compare ← Unbox#461, Constant#826 Gt Bool 464 Goto → block 33 Block 33 465 Test ← Compare#463 → block 35, block 34 1 0 Block 34 (split edge) 466 Goto → block 36 Block 35 470 Add ← Phi#417, Constant#37 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 474 Elements ← GuardShape#473 Elements 475 StoreElementHole ← GuardShape#473, Elements#474, Phi#417, LoadElement#452 476 Goto → block 36 Block 36 (backedge) 477 Phi ← Add#470, Phi#417 Int32 482 Add ← Phi#416, Constant#37 [int32] I[1, 2147483647]: Int32 483 Goto → block 29 Block 37 486 GuardShape ← NewArrayObject#405 Object 488 Constant function reduce (self-hosted:205) at 104289c479c0 Object 489 Constant function complex4/< (-e:18) at 104289c63d98 Object 490 Lambda ← FunctionEnvironment#175, Constant#489 Object 495 Call ← Constant#488, NewArrayObject#405, Lambda#490, Constant#32 Value 496 Goto → block 38 Block 38 501 Constant shape at 104289c64fc0 Shape 502 NewPlainObject ← Constant#501 Object 503 GuardShape ← NewPlainObject#502 Object 504 PostWriteBarrier ← GuardShape#503, Call#108 505 StoreFixedSlot ← GuardShape#503, Call#108 (slot 0) 507 PostWriteBarrier ← GuardShape#503, BitOr#134 508 StoreFixedSlot ← GuardShape#503, BitOr#134 (slot 1) 510 PostWriteBarrier ← GuardShape#503, Call#143 511 StoreFixedSlot ← GuardShape#503, Call#143 (slot 2) 515 Goto → block 39 Block 39 518 Constant object 104289c3f078 (Call) Object 519 NewCallObject ← Constant#518 Object 520 Box ← FunctionEnvironment#517 Value 521 AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#520 522 Box ← Constant#76 Value 523 AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#522 524 StoreFixedSlot ← NewCallObject#519, FunctionEnvironment#517 (slot 0) 525 StoreFixedSlot ← NewCallObject#519, Constant#76 (slot 1) 526 PostWriteBarrier ← NewCallObject#519, NewPlainObject#502 527 StoreFixedSlot ← NewCallObject#519, NewPlainObject#502 (slot 2) 828 AssertClass ← NewPlainObject#502 540 ObjectKeys ← NewPlainObject#502 Object 541 GuardShape ← ObjectKeys#540 Object 544 Constant function complex5/< (-e:22) at 104289c63e08 Object 545 Lambda ← NewCallObject#519, Constant#544 Object 549 Goto → block 40 Block 40 553 DebugCheckSelfHosted ← Box#187 Value 558 DebugCheckSelfHosted ← Box#192 Value 560 GuardShape ← ObjectKeys#540 Object 561 Elements ← GuardShape#560 Elements 562 ArrayLength ← Elements#561 I[0, 2147483647]: Int32 830 Goto → block 41 Block 41 580 DebugCheckSelfHosted ← Box#214 Value 831 AssertClass ← Lambda#545 833 Goto → block 42 Block 42 835 Goto → block 43 Block 43 604 Goto → block 44 Block 44 608 DebugCheckSelfHosted ← Box#242 Value 611 HasShape ← ObjectKeys#540 Bool 612 Test ← HasShape#611 → block 45, block 46 1 0 Block 45 615 DebugCheckSelfHosted ← Box#249 Value 618 Unbox DebugCheckSelfHosted#615 to Object (fallible) Object 620 GuardSpecificFunction ← Unbox#618, Constant#248 Object 621 NewArrayDynamicLength ← ArrayLength#562 Object 622 Goto → block 47 Block 46 623 CallGetIntrinsicValue Value 624 DebugCheckSelfHosted ← CallGetIntrinsicValue#623 Value 626 Bail 627 Unreachable Block 47 644 GuardShape ← ObjectKeys#540 Object 674 LoadFixedSlot ← NewCallObject#519 (slot 2) Value 675 Unbox LoadFixedSlot#674 to Object (fallible) Object 683 GuardShape ← NewArrayDynamicLength#621 Object 629 Goto → block 48 Block 48 (loop header) 630 Phi ← Constant#32, Add#691 I[0 {}, 2147483647 {[loop] #562-1}]: Int32 632 InterruptCheck 637 Compare ← Phi#630, ArrayLength#562 Lt Bool 638 Test ← Compare#637 → block 49, block 54 1 0 Block 49 645 Elements ← GuardShape#644 Elements 646 InitializedLength ← Elements#645 I[0, 268435453]: Int32 647 BoundsCheck ← Phi#630, InitializedLength#646 I[0, 2147483646]: Int32 648 SpectreMaskIndex ← BoundsCheck#647, InitializedLength#646 I[0, 2147483646]: Int32 649 GuardElementNotHole ← Elements#645, SpectreMaskIndex#648 836 Goto → block 50 Block 50 664 GuardElementsArePacked ← Elements#645 665 LoadElement ← Elements#645, SpectreMaskIndex#648 Value 837 AssertClass ← Lambda#545 671 Goto → block 51 Block 51 676 MegamorphicLoadSlotByValue ← Unbox#675, LoadElement#665 Value 677 Goto → block 52 Block 52 684 Elements ← GuardShape#683 Elements 685 StoreElementHole ← GuardShape#683, Elements#684, Phi#630, MegamorphicLoadSlotByValue#676 686 Goto → block 53 Block 53 (backedge) 691 Add ← Phi#630, Constant#37 [int32] I[1, 2147483647]: Int32 692 Goto → block 48 Block 54 695 GuardShape ← NewArrayDynamicLength#621 Object 698 Constant function complex5/< (-e:22) at 104289c63e40 Object 699 Lambda ← NewCallObject#519, Constant#698 Object 704 Call ← Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32 Value 705 Goto → block 55 Block 55 (backedge) 709 Add ← Phi#90, Constant#37 [int32] I[1, 10]: Int32 710 Box ← BitOr#134 Value 711 Goto → block 1 Block 56 712 Unbox Phi#85 to Double (fallible) Double 713 Unbox Phi#86 to Double (fallible) Double 714 Add ← Unbox#712, Unbox#713 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 715 Unbox Phi#87 to Double (fallible) Double 716 Add ← Add#714, Unbox#715 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 717 Unbox Phi#88 to Double (fallible) Double 718 Add ← Add#716, Unbox#717 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 719 Unbox Phi#89 to Double (fallible) Double 720 Add ← Add#718, Unbox#719 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 721 Box ← Add#720 Value 722 Return ← Box#721
Block 0 0 Constant magic optimized-out MagicOptimizedOut 1 Parameter THIS_SLOT Value 2 Parameter 0 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Constant function complex1 (-e:2) at 104289c6c8c8 Object 8 Call ← Constant#7, Constant#3, Parameter#2 Value 9 Constant function complex2 (-e:7) at 104289c6c970 Object 10 Call ← Constant#9, Constant#3, Parameter#2 Value 11 Constant function complex3 (-e:11) at 104289c6c938 Object 12 Call ← Constant#11, Constant#3, Parameter#2, Call#8 Value 13 Constant shape at 104289c64f00 Shape 14 NewArrayObject ← Constant#13 Object 15 Constant 0x0 I[0, 0]: Int32 16 Elements ← NewArrayObject#14 Elements 17 PostWriteBarrier ← NewArrayObject#14, Call#8 18 StoreElement ← Elements#16, Constant#15, Call#8 19 SetInitializedLength ← Elements#16, Constant#15 20 Constant 0x1 I[1, 1]: Int32 21 Elements ← NewArrayObject#14 Elements 22 PostWriteBarrier ← NewArrayObject#14, Call#10 23 StoreElement ← Elements#21, Constant#20, Call#10 24 SetInitializedLength ← Elements#21, Constant#20 25 Constant 0x2 I[2, 2]: Int32 26 Elements ← NewArrayObject#14 Elements 27 PostWriteBarrier ← NewArrayObject#14, Call#12 28 StoreElement ← Elements#26, Constant#25, Call#12 29 SetInitializedLength ← Elements#26, Constant#25 30 Constant 0x3 I[3, 3]: Int32 31 Elements ← NewArrayObject#14 Elements 32 PostWriteBarrier ← NewArrayObject#14, Parameter#2 33 StoreElement ← Elements#31, Constant#30, Parameter#2 34 SetInitializedLength ← Elements#31, Constant#30 35 Constant function complex4 (-e:17) at 104289c6c890 Object 36 Call ← Constant#35, Constant#3, NewArrayObject#14 Value 37 Constant shape at 104289c64fa0 Shape 38 NewPlainObject ← Constant#37 Object 39 GuardShape ← NewPlainObject#38 Object 40 PostWriteBarrier ← GuardShape#39, Call#8 41 StoreFixedSlot ← GuardShape#39, Call#8 (slot 0) 42 PostWriteBarrier ← GuardShape#39, Call#10 43 StoreFixedSlot ← GuardShape#39, Call#10 (slot 1) 44 PostWriteBarrier ← GuardShape#39, Call#12 45 StoreFixedSlot ← GuardShape#39, Call#12 (slot 2) 46 PostWriteBarrier ← GuardShape#39, Call#36 47 StoreFixedSlot ← GuardShape#39, Call#36 (slot 3) 48 Constant function complex5 (-e:21) at 104289c6c900 Object 49 Call ← Constant#48, Constant#3, NewPlainObject#38 Value 50 FunctionEnvironment ← Constant#35 Object 51 FunctionEnvironment ← Constant#48 Object 52 Goto → block 1 Block 1 (loop header) 53 Phi ← Call#8, Call#66 Value 54 Phi ← Call#10, Box#308 Value 55 Phi ← Call#12, Call#81 Value 56 Phi ← Call#36, Call#225 Value 57 Phi ← Call#49, Call#305 Value 58 Phi ← Constant#15, Add#307 I[0 {}, 2147483647 {[loop] +9}]: Int32 59 InterruptCheck 60 Constant 0xa I[10, 10]: Int32 61 Compare ← Phi#58, Constant#60 Lt Bool 62 Test ← Compare#61 → block 2, block 56 1 0 Block 2 63 Unbox Phi#53 to Double (fallible) Double 64 ToDouble ← Phi#58 I[0, 9]: Double 65 Add ← Unbox#63, ToDouble#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 66 Call ← Constant#7, Constant#3, Add#65 Value 67 Unbox Phi#54 to Int32 (fallible) Int32 68 Add ← Unbox#67, Phi#58 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32 69 Goto → block 3 Block 3 70 Constant 0xff I[255, 255]: Int32 71 Lsh ← Add#68, Constant#20 I[-2147483648, 2147483647]: Int32 72 Rsh ← Add#68, Constant#20 I[-1073741824, 1073741823]: Int32 73 BitAnd ← Add#68, Constant#70 I[0, 255]: Int32 74 Ursh ← Add#68, Constant#25 I[0, 1073741823]: Int32 75 Add ← BitAnd#73, Ursh#74 [int32] I[0, 1073742078]: Int32 76 BitNot ← Add#68 I[-2147483648, 2147483647]: Int32 77 Sub ← Add#75, BitNot#76 [int32] I[-2147483648, 2147483647]: Int32 (t) 78 BitXor ← Rsh#72, Sub#77 I[-2147483648, 2147483647]: Int32 79 BitOr ← Lsh#71, BitXor#78 I[-2147483648, 2147483647]: Int32 80 Goto → block 4 Block 4 81 Call ← Constant#11, Constant#3, Phi#55, Call#66 Value 82 NewArrayObject ← Constant#13 Object 83 Elements ← NewArrayObject#82 Elements 84 PostWriteBarrier ← NewArrayObject#82, Call#66 85 StoreElement ← Elements#83, Constant#15, Call#66 86 SetInitializedLength ← Elements#83, Constant#15 87 Elements ← NewArrayObject#82 Elements 88 PostWriteBarrier ← NewArrayObject#82, BitOr#79 89 StoreElement ← Elements#87, Constant#20, BitOr#79 90 SetInitializedLength ← Elements#87, Constant#20 91 Elements ← NewArrayObject#82 Elements 92 PostWriteBarrier ← NewArrayObject#82, Call#81 93 StoreElement ← Elements#91, Constant#25, Call#81 94 SetInitializedLength ← Elements#91, Constant#25 95 Elements ← NewArrayObject#82 Elements 96 PostWriteBarrier ← NewArrayObject#82, Phi#58 97 StoreElement ← Elements#95, Constant#30, Phi#58 98 SetInitializedLength ← Elements#95, Constant#30 99 Goto → block 5 Block 5 100 Constant function complex4/< (-e:18) at 104289c63d28 Object 101 GuardShape ← NewArrayObject#82 Object 102 Constant function map (self-hosted:163) at 104289c47920 Object 103 Lambda ← FunctionEnvironment#50, Constant#100 Object 104 Goto → block 6 Block 6 105 Constant function ToObject at 104289c6c740 Object 106 Constant function ToLength at 104289c6c778 Object 107 Box ← Constant#105 Value 108 DebugCheckSelfHosted ← Box#107 Value 109 Box ← Constant#106 Value 110 DebugCheckSelfHosted ← Box#109 Value 111 GuardShape ← NewArrayObject#82 Object 112 Elements ← GuardShape#111 Elements 113 ArrayLength ← Elements#112 I[0, 2147483647]: Int32 114 Goto → block 7 Block 7 115 Constant function IsCallable at 104289c6c7b0 Object 116 Box ← Constant#115 Value 117 DebugCheckSelfHosted ← Box#116 Value 118 AssertClass ← Lambda#103 119 Goto → block 8 Block 8 120 Goto → block 9 Block 9 121 Box ← Constant#3 Value 122 Goto → block 10 Block 10 123 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 124 Box ← Constant#123 Value 125 DebugCheckSelfHosted ← Box#124 Value 126 HasShape ← NewArrayObject#82 Bool 127 Test ← HasShape#126 → block 11, block 12 1 0 Block 11 128 Constant function std_Array at 104289c6c820 Object 129 Box ← Constant#128 Value 130 DebugCheckSelfHosted ← Box#129 Value 131 Unbox DebugCheckSelfHosted#130 to Object (fallible) Object 132 GuardSpecificFunction ← Unbox#131, Constant#128 Object 133 NewArrayDynamicLength ← ArrayLength#113 Object 134 Goto → block 13 Block 12 135 CallGetIntrinsicValue Value 136 DebugCheckSelfHosted ← CallGetIntrinsicValue#135 Value 137 Bail 138 Unreachable Block 13 139 GuardShape ← NewArrayObject#82 Object 140 Constant 2 I[2, 2]: Double 141 GuardShape ← NewArrayDynamicLength#133 Object 142 Goto → block 14 Block 14 (loop header) 143 Phi ← Constant#15, Add#163 I[0 {}, 2147483647 {[loop] #113-1}]: Int32 144 InterruptCheck 145 Compare ← Phi#143, ArrayLength#113 Lt Bool 146 Test ← Compare#145 → block 15, block 20 1 0 Block 15 147 Elements ← GuardShape#139 Elements 148 InitializedLength ← Elements#147 I[0, 268435453]: Int32 149 BoundsCheck ← Phi#143, InitializedLength#148 I[0, 2147483646]: Int32 150 SpectreMaskIndex ← BoundsCheck#149, InitializedLength#148 I[0, 2147483646]: Int32 151 GuardElementNotHole ← Elements#147, SpectreMaskIndex#150 152 Goto → block 16 Block 16 153 GuardElementsArePacked ← Elements#147 154 LoadElement ← Elements#147, SpectreMaskIndex#150 Value 155 AssertClass ← Lambda#103 156 Goto → block 17 Block 17 157 Unbox LoadElement#154 to Double (fallible) Double 158 Mul ← Unbox#157, Constant#140 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 159 Goto → block 18 Block 18 160 Elements ← GuardShape#141 Elements 161 StoreElementHole ← GuardShape#141, Elements#160, Phi#143, Mul#158 162 Goto → block 19 Block 19 (backedge) 163 Add ← Phi#143, Constant#20 [int32] I[1, 2147483647]: Int32 164 Goto → block 14 Block 20 165 Constant function complex4/< (-e:18) at 104289c63d60 Object 166 GuardShape ← NewArrayDynamicLength#133 Object 167 Constant function filter (self-hosted:183) at 104289c47970 Object 168 Lambda ← FunctionEnvironment#50, Constant#165 Object 169 Goto → block 21 Block 21 170 DebugCheckSelfHosted ← Box#107 Value 171 DebugCheckSelfHosted ← Box#109 Value 172 GuardShape ← NewArrayDynamicLength#133 Object 173 Elements ← GuardShape#172 Elements 174 ArrayLength ← Elements#173 I[0, 2147483647]: Int32 175 Goto → block 22 Block 22 176 DebugCheckSelfHosted ← Box#116 Value 177 AssertClass ← Lambda#168 178 Goto → block 23 Block 23 179 Goto → block 24 Block 24 180 Goto → block 25 Block 25 181 DebugCheckSelfHosted ← Box#124 Value 182 HasShape ← NewArrayDynamicLength#133 Bool 183 Test ← HasShape#182 → block 26, block 27 1 0 Block 26 184 NewArrayObject ← Constant#13 Object 185 Goto → block 28 Block 27 186 CallGetIntrinsicValue Value 187 DebugCheckSelfHosted ← CallGetIntrinsicValue#186 Value 188 Bail 189 Unreachable Block 28 190 GuardShape ← NewArrayDynamicLength#133 Object 191 Constant 50 I[50, 50]: Double 192 GuardShape ← NewArrayObject#184 Object 193 Goto → block 29 Block 29 (loop header) 194 Phi ← Constant#15, Add#219 I[0 {}, 2147483647 {[loop] #174-1}]: Int32 195 Phi ← Constant#15, Phi#218 Int32 196 InterruptCheck 197 Compare ← Phi#194, ArrayLength#174 Lt Bool 198 Test ← Compare#197 → block 30, block 37 1 0 Block 30 199 Elements ← GuardShape#190 Elements 200 InitializedLength ← Elements#199 I[0, 268435453]: Int32 201 BoundsCheck ← Phi#194, InitializedLength#200 I[0, 2147483646]: Int32 202 SpectreMaskIndex ← BoundsCheck#201, InitializedLength#200 I[0, 2147483646]: Int32 203 GuardElementNotHole ← Elements#199, SpectreMaskIndex#202 204 Goto → block 31 Block 31 205 GuardElementsArePacked ← Elements#199 206 LoadElement ← Elements#199, SpectreMaskIndex#202 Value 207 AssertClass ← Lambda#168 208 Goto → block 32 Block 32 209 Unbox LoadElement#206 to Double (fallible) Double 210 Compare ← Unbox#209, Constant#191 Gt Bool 211 Goto → block 33 Block 33 212 Test ← Compare#210 → block 35, block 34 1 0 Block 34 (split edge) 213 Goto → block 36 Block 35 214 Add ← Phi#195, Constant#20 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 215 Elements ← GuardShape#192 Elements 216 StoreElementHole ← GuardShape#192, Elements#215, Phi#195, LoadElement#206 217 Goto → block 36 Block 36 (backedge) 218 Phi ← Add#214, Phi#195 Int32 219 Add ← Phi#194, Constant#20 [int32] I[1, 2147483647]: Int32 220 Goto → block 29 Block 37 221 Constant function complex4/< (-e:18) at 104289c63d98 Object 222 GuardShape ← NewArrayObject#184 Object 223 Constant function reduce (self-hosted:205) at 104289c479c0 Object 224 Lambda ← FunctionEnvironment#50, Constant#221 Object 225 Call ← Constant#223, NewArrayObject#184, Lambda#224, Constant#15 Value 226 Goto → block 38 Block 38 227 Constant shape at 104289c64fc0 Shape 228 NewPlainObject ← Constant#227 Object 229 GuardShape ← NewPlainObject#228 Object 230 PostWriteBarrier ← GuardShape#229, Call#66 231 StoreFixedSlot ← GuardShape#229, Call#66 (slot 0) 232 PostWriteBarrier ← GuardShape#229, BitOr#79 233 StoreFixedSlot ← GuardShape#229, BitOr#79 (slot 1) 234 PostWriteBarrier ← GuardShape#229, Call#81 235 StoreFixedSlot ← GuardShape#229, Call#81 (slot 2) 236 Goto → block 39 Block 39 237 Constant object 104289c3f078 (Call) Object 238 Constant function complex5/< (-e:22) at 104289c63e08 Object 239 NewCallObject ← Constant#237 Object 240 Box ← FunctionEnvironment#51 Value 241 AssertCanElidePostWriteBarrier ← NewCallObject#239, Box#240 242 Box ← Constant#48 Value 243 AssertCanElidePostWriteBarrier ← NewCallObject#239, Box#242 244 StoreFixedSlot ← NewCallObject#239, FunctionEnvironment#51 (slot 0) 245 StoreFixedSlot ← NewCallObject#239, Constant#48 (slot 1) 246 PostWriteBarrier ← NewCallObject#239, NewPlainObject#228 247 StoreFixedSlot ← NewCallObject#239, NewPlainObject#228 (slot 2) 248 AssertClass ← NewPlainObject#228 249 ObjectKeys ← NewPlainObject#228 Object 250 GuardShape ← ObjectKeys#249 Object 251 Lambda ← NewCallObject#239, Constant#238 Object 252 Goto → block 40 Block 40 253 DebugCheckSelfHosted ← Box#107 Value 254 DebugCheckSelfHosted ← Box#109 Value 255 GuardShape ← ObjectKeys#249 Object 256 Elements ← GuardShape#255 Elements 257 ArrayLength ← Elements#256 I[0, 2147483647]: Int32 258 Goto → block 41 Block 41 259 DebugCheckSelfHosted ← Box#116 Value 260 AssertClass ← Lambda#251 261 Goto → block 42 Block 42 262 Goto → block 43 Block 43 263 Goto → block 44 Block 44 264 DebugCheckSelfHosted ← Box#124 Value 265 HasShape ← ObjectKeys#249 Bool 266 Test ← HasShape#265 → block 45, block 46 1 0 Block 45 267 DebugCheckSelfHosted ← Box#129 Value 268 Unbox DebugCheckSelfHosted#267 to Object (fallible) Object 269 GuardSpecificFunction ← Unbox#268, Constant#128 Object 270 NewArrayDynamicLength ← ArrayLength#257 Object 271 Goto → block 47 Block 46 272 CallGetIntrinsicValue Value 273 DebugCheckSelfHosted ← CallGetIntrinsicValue#272 Value 274 Bail 275 Unreachable Block 47 276 GuardShape ← ObjectKeys#249 Object 277 LoadFixedSlot ← NewCallObject#239 (slot 2) Value 278 Unbox LoadFixedSlot#277 to Object (fallible) Object 279 GuardShape ← NewArrayDynamicLength#270 Object 280 Goto → block 48 Block 48 (loop header) 281 Phi ← Constant#15, Add#300 I[0 {}, 2147483647 {[loop] #257-1}]: Int32 282 InterruptCheck 283 Compare ← Phi#281, ArrayLength#257 Lt Bool 284 Test ← Compare#283 → block 49, block 54 1 0 Block 49 285 Elements ← GuardShape#276 Elements 286 InitializedLength ← Elements#285 I[0, 268435453]: Int32 287 BoundsCheck ← Phi#281, InitializedLength#286 I[0, 2147483646]: Int32 288 SpectreMaskIndex ← BoundsCheck#287, InitializedLength#286 I[0, 2147483646]: Int32 289 GuardElementNotHole ← Elements#285, SpectreMaskIndex#288 290 Goto → block 50 Block 50 291 GuardElementsArePacked ← Elements#285 292 LoadElement ← Elements#285, SpectreMaskIndex#288 Value 293 AssertClass ← Lambda#251 294 Goto → block 51 Block 51 295 MegamorphicLoadSlotByValue ← Unbox#278, LoadElement#292 Value 296 Goto → block 52 Block 52 297 Elements ← GuardShape#279 Elements 298 StoreElementHole ← GuardShape#279, Elements#297, Phi#281, MegamorphicLoadSlotByValue#295 299 Goto → block 53 Block 53 (backedge) 300 Add ← Phi#281, Constant#20 [int32] I[1, 2147483647]: Int32 301 Goto → block 48 Block 54 302 Constant function complex5/< (-e:22) at 104289c63e40 Object 303 GuardShape ← NewArrayDynamicLength#270 Object 304 Lambda ← NewCallObject#239, Constant#302 Object 305 Call ← Constant#223, NewArrayDynamicLength#270, Lambda#304, Constant#15 Value 306 Goto → block 55 Block 55 (backedge) 307 Add ← Phi#58, Constant#20 [int32] I[1, 10]: Int32 308 Box ← BitOr#79 Value 309 Goto → block 1 Block 56 310 Unbox Phi#53 to Double (fallible) Double 311 Unbox Phi#54 to Double (fallible) Double 312 Add ← Unbox#310, Unbox#311 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 313 Unbox Phi#55 to Double (fallible) Double 314 Add ← Add#312, Unbox#313 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 315 Unbox Phi#56 to Double (fallible) Double 316 Add ← Add#314, Unbox#315 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 317 Unbox Phi#57 to Double (fallible) Double 318 Add ← Add#316, Unbox#317 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 319 Box ← Add#318 Value 320 Return ← Box#319
Block 0 0 Constant magic optimized-out MagicOptimizedOut 1 Parameter THIS_SLOT Value 2 Parameter 0 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Constant function complex1 (-e:2) at 104289c6c8c8 Object 8 Call ← Constant#7, Constant#3, Parameter#2 Value 9 Constant function complex2 (-e:7) at 104289c6c970 Object 10 Call ← Constant#9, Constant#3, Parameter#2 Value 11 Constant function complex3 (-e:11) at 104289c6c938 Object 12 Call ← Constant#11, Constant#3, Parameter#2, Call#8 Value 13 Constant shape at 104289c64f00 Shape 14 NewArrayObject ← Constant#13 Object 15 Constant 0x0 I[0, 0]: Int32 16 Elements ← NewArrayObject#14 Elements 17 PostWriteBarrier ← NewArrayObject#14, Call#8 18 StoreElement ← Elements#16, Constant#15, Call#8 19 SetInitializedLength ← Elements#16, Constant#15 20 Constant 0x1 I[1, 1]: Int32 21 Elements ← NewArrayObject#14 Elements 22 PostWriteBarrier ← NewArrayObject#14, Call#10 23 StoreElement ← Elements#21, Constant#20, Call#10 24 SetInitializedLength ← Elements#21, Constant#20 25 Constant 0x2 I[2, 2]: Int32 26 Elements ← NewArrayObject#14 Elements 27 PostWriteBarrier ← NewArrayObject#14, Call#12 28 StoreElement ← Elements#26, Constant#25, Call#12 29 SetInitializedLength ← Elements#26, Constant#25 30 Constant 0x3 I[3, 3]: Int32 31 Elements ← NewArrayObject#14 Elements 32 PostWriteBarrier ← NewArrayObject#14, Parameter#2 33 StoreElement ← Elements#31, Constant#30, Parameter#2 34 SetInitializedLength ← Elements#31, Constant#30 35 Constant function complex4 (-e:17) at 104289c6c890 Object 36 Call ← Constant#35, Constant#3, NewArrayObject#14 Value 37 Constant shape at 104289c64fa0 Shape 38 NewPlainObject ← Constant#37 Object 39 GuardShape ← NewPlainObject#38 Object 40 PostWriteBarrier ← GuardShape#39, Call#8 41 StoreFixedSlot ← GuardShape#39, Call#8 (slot 0) 42 PostWriteBarrier ← GuardShape#39, Call#10 43 StoreFixedSlot ← GuardShape#39, Call#10 (slot 1) 44 PostWriteBarrier ← GuardShape#39, Call#12 45 StoreFixedSlot ← GuardShape#39, Call#12 (slot 2) 46 PostWriteBarrier ← GuardShape#39, Call#36 47 StoreFixedSlot ← GuardShape#39, Call#36 (slot 3) 48 Constant function complex5 (-e:21) at 104289c6c900 Object 49 Call ← Constant#48, Constant#3, NewPlainObject#38 Value 50 FunctionEnvironment ← Constant#35 Object 51 FunctionEnvironment ← Constant#48 Object 52 Goto → block 1 Block 1 (loop header) 53 Phi ← Call#8, Call#66 Value 54 Phi ← Call#10, Box#308 Value 55 Phi ← Call#12, Call#81 Value 56 Phi ← Call#36, Call#225 Value 57 Phi ← Call#49, Call#305 Value 58 Phi ← Constant#15, Add#307 I[0 {}, 2147483647 {[loop] +9}]: Int32 59 InterruptCheck 60 Constant 0xa I[10, 10]: Int32 61 Compare ← Phi#58, Constant#60 Lt Bool 62 Test ← Compare#61 → block 2, block 56 1 0 Block 2 63 Unbox Phi#53 to Double (fallible) Double 64 ToDouble ← Phi#58 I[0, 9]: Double 65 Add ← Unbox#63, ToDouble#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 66 Call ← Constant#7, Constant#3, Add#65 Value 67 Unbox Phi#54 to Int32 (fallible) Int32 68 Add ← Unbox#67, Phi#58 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32 69 Goto → block 3 Block 3 70 Constant 0xff I[255, 255]: Int32 71 Lsh ← Add#68, Constant#20 I[-2147483648, 2147483647]: Int32 72 Rsh ← Add#68, Constant#20 I[-1073741824, 1073741823]: Int32 73 BitAnd ← Add#68, Constant#70 I[0, 255]: Int32 74 Ursh ← Add#68, Constant#25 I[0, 1073741823]: Int32 75 Add ← BitAnd#73, Ursh#74 [int32] I[0, 1073742078]: Int32 76 BitNot ← Add#68 I[-2147483648, 2147483647]: Int32 77 Sub ← Add#75, BitNot#76 [int32] I[-2147483648, 2147483647]: Int32 (t) 78 BitXor ← Rsh#72, Sub#77 I[-2147483648, 2147483647]: Int32 79 BitOr ← Lsh#71, BitXor#78 I[-2147483648, 2147483647]: Int32 80 Goto → block 4 Block 4 81 Call ← Constant#11, Constant#3, Phi#55, Call#66 Value 82 NewArrayObject ← Constant#13 Object 83 Elements ← NewArrayObject#82 Elements 84 PostWriteBarrier ← NewArrayObject#82, Call#66 85 StoreElement ← Elements#83, Constant#15, Call#66 86 SetInitializedLength ← Elements#83, Constant#15 87 Elements ← NewArrayObject#82 Elements 88 PostWriteBarrier ← NewArrayObject#82, BitOr#79 89 StoreElement ← Elements#87, Constant#20, BitOr#79 90 SetInitializedLength ← Elements#87, Constant#20 91 Elements ← NewArrayObject#82 Elements 92 PostWriteBarrier ← NewArrayObject#82, Call#81 93 StoreElement ← Elements#91, Constant#25, Call#81 94 SetInitializedLength ← Elements#91, Constant#25 95 Elements ← NewArrayObject#82 Elements 96 PostWriteBarrier ← NewArrayObject#82, Phi#58 97 StoreElement ← Elements#95, Constant#30, Phi#58 98 SetInitializedLength ← Elements#95, Constant#30 99 Goto → block 5 Block 5 100 Constant function complex4/< (-e:18) at 104289c63d28 Object 101 GuardShape ← NewArrayObject#82 Object 102 Constant function map (self-hosted:163) at 104289c47920 Object 103 Lambda ← FunctionEnvironment#50, Constant#100 Object 104 Goto → block 6 Block 6 105 Constant function ToObject at 104289c6c740 Object 106 Constant function ToLength at 104289c6c778 Object 107 Box ← Constant#105 Value 108 DebugCheckSelfHosted ← Box#107 Value 109 Box ← Constant#106 Value 110 DebugCheckSelfHosted ← Box#109 Value 111 GuardShape ← NewArrayObject#82 Object 112 Elements ← GuardShape#111 Elements 113 ArrayLength ← Elements#112 I[0, 2147483647]: Int32 114 Goto → block 7 Block 7 115 Constant function IsCallable at 104289c6c7b0 Object 116 Box ← Constant#115 Value 117 DebugCheckSelfHosted ← Box#116 Value 118 AssertClass ← Lambda#103 119 Goto → block 8 Block 8 120 Goto → block 9 Block 9 121 Box ← Constant#3 Value 122 Goto → block 10 Block 10 123 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 124 Box ← Constant#123 Value 125 DebugCheckSelfHosted ← Box#124 Value 126 HasShape ← NewArrayObject#82 Bool 127 Test ← HasShape#126 → block 11, block 53 1 0 Block 11 128 Constant function std_Array at 104289c6c820 Object 129 Box ← Constant#128 Value 130 DebugCheckSelfHosted ← Box#129 Value 131 Unbox DebugCheckSelfHosted#130 to Object (fallible) Object 132 GuardSpecificFunction ← Unbox#131, Constant#128 Object 133 NewArrayDynamicLength ← ArrayLength#113 Object 134 Goto → block 12 Block 12 139 GuardShape ← NewArrayObject#82 Object 140 Constant 2 I[2, 2]: Double 141 GuardShape ← NewArrayDynamicLength#133 Object 142 Goto → block 13 Block 13 (loop header) 143 Phi ← Constant#15, Add#163 I[0 {}, 2147483647 {[loop] #113-1}]: Int32 144 InterruptCheck 145 Compare ← Phi#143, ArrayLength#113 Lt Bool 146 Test ← Compare#145 → block 14, block 19 1 0 Block 14 147 Elements ← GuardShape#139 Elements 148 InitializedLength ← Elements#147 I[0, 268435453]: Int32 149 BoundsCheck ← Phi#143, InitializedLength#148 I[0, 2147483646]: Int32 150 SpectreMaskIndex ← BoundsCheck#149, InitializedLength#148 I[0, 2147483646]: Int32 151 GuardElementNotHole ← Elements#147, SpectreMaskIndex#150 152 Goto → block 15 Block 15 153 GuardElementsArePacked ← Elements#147 154 LoadElement ← Elements#147, SpectreMaskIndex#150 Value 155 AssertClass ← Lambda#103 156 Goto → block 16 Block 16 157 Unbox LoadElement#154 to Double (fallible) Double 158 Mul ← Unbox#157, Constant#140 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 159 Goto → block 17 Block 17 160 Elements ← GuardShape#141 Elements 161 StoreElementHole ← GuardShape#141, Elements#160, Phi#143, Mul#158 162 Goto → block 18 Block 18 (backedge) 163 Add ← Phi#143, Constant#20 [int32] I[1, 2147483647]: Int32 164 Goto → block 13 Block 19 165 Constant function complex4/< (-e:18) at 104289c63d60 Object 166 GuardShape ← NewArrayDynamicLength#133 Object 167 Constant function filter (self-hosted:183) at 104289c47970 Object 168 Lambda ← FunctionEnvironment#50, Constant#165 Object 169 Goto → block 20 Block 20 170 DebugCheckSelfHosted ← Box#107 Value 171 DebugCheckSelfHosted ← Box#109 Value 172 GuardShape ← NewArrayDynamicLength#133 Object 173 Elements ← GuardShape#172 Elements 174 ArrayLength ← Elements#173 I[0, 2147483647]: Int32 175 Goto → block 21 Block 21 176 DebugCheckSelfHosted ← Box#116 Value 177 AssertClass ← Lambda#168 178 Goto → block 22 Block 22 179 Goto → block 23 Block 23 180 Goto → block 24 Block 24 181 DebugCheckSelfHosted ← Box#124 Value 182 HasShape ← NewArrayDynamicLength#133 Bool 183 Test ← HasShape#182 → block 25, block 54 1 0 Block 25 184 NewArrayObject ← Constant#13 Object 185 Goto → block 26 Block 26 190 GuardShape ← NewArrayDynamicLength#133 Object 191 Constant 50 I[50, 50]: Double 192 GuardShape ← NewArrayObject#184 Object 193 Goto → block 27 Block 27 (loop header) 194 Phi ← Constant#15, Add#219 I[0 {}, 2147483647 {[loop] #174-1}]: Int32 195 Phi ← Constant#15, Phi#218 Int32 196 InterruptCheck 197 Compare ← Phi#194, ArrayLength#174 Lt Bool 198 Test ← Compare#197 → block 28, block 35 1 0 Block 28 199 Elements ← GuardShape#190 Elements 200 InitializedLength ← Elements#199 I[0, 268435453]: Int32 201 BoundsCheck ← Phi#194, InitializedLength#200 I[0, 2147483646]: Int32 202 SpectreMaskIndex ← BoundsCheck#201, InitializedLength#200 I[0, 2147483646]: Int32 203 GuardElementNotHole ← Elements#199, SpectreMaskIndex#202 204 Goto → block 29 Block 29 205 GuardElementsArePacked ← Elements#199 206 LoadElement ← Elements#199, SpectreMaskIndex#202 Value 207 AssertClass ← Lambda#168 208 Goto → block 30 Block 30 209 Unbox LoadElement#206 to Double (fallible) Double 210 Compare ← Unbox#209, Constant#191 Gt Bool 211 Goto → block 31 Block 31 212 Test ← Compare#210 → block 33, block 32 1 0 Block 32 (split edge) 213 Goto → block 34 Block 33 214 Add ← Phi#195, Constant#20 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 215 Elements ← GuardShape#192 Elements 216 StoreElementHole ← GuardShape#192, Elements#215, Phi#195, LoadElement#206 217 Goto → block 34 Block 34 (backedge) 218 Phi ← Add#214, Phi#195 Int32 219 Add ← Phi#194, Constant#20 [int32] I[1, 2147483647]: Int32 220 Goto → block 27 Block 35 221 Constant function complex4/< (-e:18) at 104289c63d98 Object 222 GuardShape ← NewArrayObject#184 Object 223 Constant function reduce (self-hosted:205) at 104289c479c0 Object 224 Lambda ← FunctionEnvironment#50, Constant#221 Object 225 Call ← Constant#223, NewArrayObject#184, Lambda#224, Constant#15 Value 226 Goto → block 36 Block 36 227 Constant shape at 104289c64fc0 Shape 228 NewPlainObject ← Constant#227 Object 229 GuardShape ← NewPlainObject#228 Object 230 PostWriteBarrier ← GuardShape#229, Call#66 231 StoreFixedSlot ← GuardShape#229, Call#66 (slot 0) 232 PostWriteBarrier ← GuardShape#229, BitOr#79 233 StoreFixedSlot ← GuardShape#229, BitOr#79 (slot 1) 234 PostWriteBarrier ← GuardShape#229, Call#81 235 StoreFixedSlot ← GuardShape#229, Call#81 (slot 2) 236 Goto → block 37 Block 37 237 Constant object 104289c3f078 (Call) Object 238 Constant function complex5/< (-e:22) at 104289c63e08 Object 239 NewCallObject ← Constant#237 Object 240 Box ← FunctionEnvironment#51 Value 241 AssertCanElidePostWriteBarrier ← NewCallObject#239, Box#240 242 Box ← Constant#48 Value 243 AssertCanElidePostWriteBarrier ← NewCallObject#239, Box#242 244 StoreFixedSlot ← NewCallObject#239, FunctionEnvironment#51 (slot 0) 245 StoreFixedSlot ← NewCallObject#239, Constant#48 (slot 1) 246 PostWriteBarrier ← NewCallObject#239, NewPlainObject#228 247 StoreFixedSlot ← NewCallObject#239, NewPlainObject#228 (slot 2) 248 AssertClass ← NewPlainObject#228 249 ObjectKeys ← NewPlainObject#228 Object 250 GuardShape ← ObjectKeys#249 Object 251 Lambda ← NewCallObject#239, Constant#238 Object 252 Goto → block 38 Block 38 253 DebugCheckSelfHosted ← Box#107 Value 254 DebugCheckSelfHosted ← Box#109 Value 255 GuardShape ← ObjectKeys#249 Object 256 Elements ← GuardShape#255 Elements 257 ArrayLength ← Elements#256 I[0, 2147483647]: Int32 258 Goto → block 39 Block 39 259 DebugCheckSelfHosted ← Box#116 Value 260 AssertClass ← Lambda#251 261 Goto → block 40 Block 40 262 Goto → block 41 Block 41 263 Goto → block 42 Block 42 264 DebugCheckSelfHosted ← Box#124 Value 265 HasShape ← ObjectKeys#249 Bool 266 Test ← HasShape#265 → block 43, block 55 1 0 Block 43 267 DebugCheckSelfHosted ← Box#129 Value 268 Unbox DebugCheckSelfHosted#267 to Object (fallible) Object 269 GuardSpecificFunction ← Unbox#268, Constant#128 Object 270 NewArrayDynamicLength ← ArrayLength#257 Object 271 Goto → block 44 Block 44 276 GuardShape ← ObjectKeys#249 Object 277 LoadFixedSlot ← NewCallObject#239 (slot 2) Value 278 Unbox LoadFixedSlot#277 to Object (fallible) Object 279 GuardShape ← NewArrayDynamicLength#270 Object 280 Goto → block 45 Block 45 (loop header) 281 Phi ← Constant#15, Add#300 I[0 {}, 2147483647 {[loop] #257-1}]: Int32 282 InterruptCheck 283 Compare ← Phi#281, ArrayLength#257 Lt Bool 284 Test ← Compare#283 → block 46, block 51 1 0 Block 46 285 Elements ← GuardShape#276 Elements 286 InitializedLength ← Elements#285 I[0, 268435453]: Int32 287 BoundsCheck ← Phi#281, InitializedLength#286 I[0, 2147483646]: Int32 288 SpectreMaskIndex ← BoundsCheck#287, InitializedLength#286 I[0, 2147483646]: Int32 289 GuardElementNotHole ← Elements#285, SpectreMaskIndex#288 290 Goto → block 47 Block 47 291 GuardElementsArePacked ← Elements#285 292 LoadElement ← Elements#285, SpectreMaskIndex#288 Value 293 AssertClass ← Lambda#251 294 Goto → block 48 Block 48 295 MegamorphicLoadSlotByValue ← Unbox#278, LoadElement#292 Value 296 Goto → block 49 Block 49 297 Elements ← GuardShape#279 Elements 298 StoreElementHole ← GuardShape#279, Elements#297, Phi#281, MegamorphicLoadSlotByValue#295 299 Goto → block 50 Block 50 (backedge) 300 Add ← Phi#281, Constant#20 [int32] I[1, 2147483647]: Int32 301 Goto → block 45 Block 51 302 Constant function complex5/< (-e:22) at 104289c63e40 Object 303 GuardShape ← NewArrayDynamicLength#270 Object 304 Lambda ← NewCallObject#239, Constant#302 Object 305 Call ← Constant#223, NewArrayDynamicLength#270, Lambda#304, Constant#15 Value 306 Goto → block 52 Block 52 (backedge) 307 Add ← Phi#58, Constant#20 [int32] I[1, 10]: Int32 308 Box ← BitOr#79 Value 309 Goto → block 1 Block 53 135 CallGetIntrinsicValue Value 136 DebugCheckSelfHosted ← CallGetIntrinsicValue#135 Value 137 Bail 138 Unreachable Block 54 186 CallGetIntrinsicValue Value 187 DebugCheckSelfHosted ← CallGetIntrinsicValue#186 Value 188 Bail 189 Unreachable Block 55 272 CallGetIntrinsicValue Value 273 DebugCheckSelfHosted ← CallGetIntrinsicValue#272 Value 274 Bail 275 Unreachable Block 56 310 Unbox Phi#53 to Double (fallible) Double 311 Unbox Phi#54 to Double (fallible) Double 312 Add ← Unbox#310, Unbox#311 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 313 Unbox Phi#55 to Double (fallible) Double 314 Add ← Add#312, Unbox#313 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 315 Unbox Phi#56 to Double (fallible) Double 316 Add ← Add#314, Unbox#315 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 317 Unbox Phi#57 to Double (fallible) Double 318 Add ← Add#316, Unbox#317 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 319 Box ← Add#318 Value 320 Return ← Box#319
Block 0 0 Constant magic optimized-out MagicOptimizedOut 1 Parameter THIS_SLOT Value 2 Parameter 0 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Constant function complex1 (-e:2) at 104289c6c8c8 Object 8 Call ← Constant#7, Constant#3, Parameter#2 Value 9 Constant function complex2 (-e:7) at 104289c6c970 Object 10 Call ← Constant#9, Constant#3, Parameter#2 Value 11 Constant function complex3 (-e:11) at 104289c6c938 Object 12 Call ← Constant#11, Constant#3, Parameter#2, Call#8 Value 13 Constant shape at 104289c64f00 Shape 14 NewArrayObject ← Constant#13 Object 15 Constant 0x0 I[0, 0]: Int32 16 Elements ← NewArrayObject#14 Elements 17 PostWriteBarrier ← NewArrayObject#14, Call#8 18 StoreElement ← Elements#16, Constant#15, Call#8 19 SetInitializedLength ← Elements#16, Constant#15 20 Constant 0x1 I[1, 1]: Int32 21 Elements ← NewArrayObject#14 Elements 22 PostWriteBarrier ← NewArrayObject#14, Call#10 23 StoreElement ← Elements#21, Constant#20, Call#10 24 SetInitializedLength ← Elements#21, Constant#20 25 Constant 0x2 I[2, 2]: Int32 26 Elements ← NewArrayObject#14 Elements 27 PostWriteBarrier ← NewArrayObject#14, Call#12 28 StoreElement ← Elements#26, Constant#25, Call#12 29 SetInitializedLength ← Elements#26, Constant#25 30 Constant 0x3 I[3, 3]: Int32 31 Elements ← NewArrayObject#14 Elements 32 PostWriteBarrier ← NewArrayObject#14, Parameter#2 33 StoreElement ← Elements#31, Constant#30, Parameter#2 34 SetInitializedLength ← Elements#31, Constant#30 35 Constant function complex4 (-e:17) at 104289c6c890 Object 36 Call ← Constant#35, Constant#3, NewArrayObject#14 Value 37 Constant shape at 104289c64fa0 Shape 38 NewPlainObject ← Constant#37 Object 39 GuardShape ← NewPlainObject#38 Object 40 PostWriteBarrier ← GuardShape#39, Call#8 41 StoreFixedSlot ← GuardShape#39, Call#8 (slot 0) 42 PostWriteBarrier ← GuardShape#39, Call#10 43 StoreFixedSlot ← GuardShape#39, Call#10 (slot 1) 44 PostWriteBarrier ← GuardShape#39, Call#12 45 StoreFixedSlot ← GuardShape#39, Call#12 (slot 2) 46 PostWriteBarrier ← GuardShape#39, Call#36 47 StoreFixedSlot ← GuardShape#39, Call#36 (slot 3) 48 Constant function complex5 (-e:21) at 104289c6c900 Object 49 Call ← Constant#48, Constant#3, NewPlainObject#38 Value 50 FunctionEnvironment ← Constant#35 Object 51 FunctionEnvironment ← Constant#48 Object 52 Goto → block 1 Block 1 (loop header) 53 Phi ← Call#8, Call#66 Value 54 Phi ← Call#10, Box#296 Value 55 Phi ← Call#12, Call#81 Value 56 Phi ← Call#36, Call#217 Value 57 Phi ← Call#49, Call#293 Value 58 Phi ← Constant#15, Add#295 I[0 {}, 2147483647 {[loop] +9}]: Int32 59 InterruptCheck 60 Constant 0xa I[10, 10]: Int32 61 Compare ← Phi#58, Constant#60 Lt Bool 62 Test ← Compare#61 → block 2, block 56 1 0 Block 2 63 Unbox Phi#53 to Double (fallible) Double 64 ToDouble ← Phi#58 I[0, 9]: Double 65 Add ← Unbox#63, ToDouble#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 66 Call ← Constant#7, Constant#3, Add#65 Value 67 Unbox Phi#54 to Int32 (fallible) Int32 68 Add ← Unbox#67, Phi#58 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32 69 Goto → block 3 Block 3 70 Constant 0xff I[255, 255]: Int32 71 Lsh ← Add#68, Constant#20 I[-2147483648, 2147483647]: Int32 72 Rsh ← Add#68, Constant#20 I[-1073741824, 1073741823]: Int32 73 BitAnd ← Add#68, Constant#70 I[0, 255]: Int32 74 Ursh ← Add#68, Constant#25 I[0, 1073741823]: Int32 75 Add ← BitAnd#73, Ursh#74 [int32] I[0, 1073742078]: Int32 76 BitNot ← Add#68 I[-2147483648, 2147483647]: Int32 77 Sub ← Add#75, BitNot#76 [int32] I[-2147483648, 2147483647]: Int32 (t) 78 BitXor ← Rsh#72, Sub#77 I[-2147483648, 2147483647]: Int32 79 BitOr ← Lsh#71, BitXor#78 I[-2147483648, 2147483647]: Int32 80 Goto → block 4 Block 4 81 Call ← Constant#11, Constant#3, Phi#55, Call#66 Value 82 NewArrayObject ← Constant#13 Object 83 Elements ← NewArrayObject#82 Elements 84 PostWriteBarrier ← NewArrayObject#82, Call#66 85 StoreElement ← Elements#83, Constant#15, Call#66 86 SetInitializedLength ← Elements#83, Constant#15 87 Elements ← NewArrayObject#82 Elements 88 PostWriteBarrier ← NewArrayObject#82, BitOr#79 89 StoreElement ← Elements#87, Constant#20, BitOr#79 90 SetInitializedLength ← Elements#87, Constant#20 91 Elements ← NewArrayObject#82 Elements 92 PostWriteBarrier ← NewArrayObject#82, Call#81 93 StoreElement ← Elements#91, Constant#25, Call#81 94 SetInitializedLength ← Elements#91, Constant#25 95 Elements ← NewArrayObject#82 Elements 96 PostWriteBarrier ← NewArrayObject#82, Phi#58 97 StoreElement ← Elements#95, Constant#30, Phi#58 98 SetInitializedLength ← Elements#95, Constant#30 99 Goto → block 5 Block 5 100 Constant function complex4/< (-e:18) at 104289c63d28 Object 101 GuardShape ← NewArrayObject#82 Object 102 Constant function map (self-hosted:163) at 104289c47920 Object 103 Lambda ← FunctionEnvironment#50, Constant#100 Object 104 Goto → block 6 Block 6 105 Constant function ToObject at 104289c6c740 Object 106 Constant function ToLength at 104289c6c778 Object 107 Box ← Constant#105 Value 108 DebugCheckSelfHosted ← Box#107 Value 109 Box ← Constant#106 Value 110 DebugCheckSelfHosted ← Box#109 Value 111 GuardShape ← NewArrayObject#82 Object 112 Elements ← GuardShape#111 Elements 113 ArrayLength ← Elements#112 I[0, 2147483647]: Int32 114 Goto → block 7 Block 7 115 Constant function IsCallable at 104289c6c7b0 Object 116 Box ← Constant#115 Value 117 DebugCheckSelfHosted ← Box#116 Value 118 AssertClass ← Lambda#103 119 Goto → block 8 Block 8 120 Goto → block 9 Block 9 121 Box ← Constant#3 Value 122 Goto → block 10 Block 10 123 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 124 Box ← Constant#123 Value 125 DebugCheckSelfHosted ← Box#124 Value 126 HasShape ← NewArrayObject#82 Bool 127 Test ← HasShape#126 → block 11, block 53 1 0 Block 11 128 Constant function std_Array at 104289c6c820 Object 129 Box ← Constant#128 Value 130 DebugCheckSelfHosted ← Box#129 Value 131 Unbox DebugCheckSelfHosted#130 to Object (fallible) Object 132 GuardSpecificFunction ← Unbox#131, Constant#128 Object 133 NewArrayDynamicLength ← ArrayLength#113 Object 134 Goto → block 12 Block 12 135 GuardShape ← NewArrayObject#82 Object 136 Constant 2 I[2, 2]: Double 137 GuardShape ← NewArrayDynamicLength#133 Object 138 Goto → block 13 Block 13 (loop header) 139 Phi ← Constant#15, Add#159 I[0 {}, 2147483647 {[loop] #113-1}]: Int32 140 InterruptCheck 141 Compare ← Phi#139, ArrayLength#113 Lt Bool 142 Test ← Compare#141 → block 14, block 19 1 0 Block 14 143 Elements ← GuardShape#135 Elements 144 InitializedLength ← Elements#143 I[0, 268435453]: Int32 145 BoundsCheck ← Phi#139, InitializedLength#144 I[0, 2147483646]: Int32 146 SpectreMaskIndex ← BoundsCheck#145, InitializedLength#144 I[0, 2147483646]: Int32 147 GuardElementNotHole ← Elements#143, SpectreMaskIndex#146 148 Goto → block 15 Block 15 149 GuardElementsArePacked ← Elements#143 150 LoadElement ← Elements#143, SpectreMaskIndex#146 Value 151 AssertClass ← Lambda#103 152 Goto → block 16 Block 16 153 Unbox LoadElement#150 to Double (fallible) Double 154 Mul ← Unbox#153, Constant#136 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 155 Goto → block 17 Block 17 156 Elements ← GuardShape#137 Elements 157 StoreElementHole ← GuardShape#137, Elements#156, Phi#139, Mul#154 158 Goto → block 18 Block 18 (backedge) 159 Add ← Phi#139, Constant#20 [int32] I[1, 2147483647]: Int32 160 Goto → block 13 Block 19 161 Constant function complex4/< (-e:18) at 104289c63d60 Object 162 GuardShape ← NewArrayDynamicLength#133 Object 163 Constant function filter (self-hosted:183) at 104289c47970 Object 164 Lambda ← FunctionEnvironment#50, Constant#161 Object 165 Goto → block 20 Block 20 166 DebugCheckSelfHosted ← Box#107 Value 167 DebugCheckSelfHosted ← Box#109 Value 168 GuardShape ← NewArrayDynamicLength#133 Object 169 Elements ← GuardShape#168 Elements 170 ArrayLength ← Elements#169 I[0, 2147483647]: Int32 171 Goto → block 21 Block 21 172 DebugCheckSelfHosted ← Box#116 Value 173 AssertClass ← Lambda#164 174 Goto → block 22 Block 22 175 Goto → block 23 Block 23 176 Goto → block 24 Block 24 177 DebugCheckSelfHosted ← Box#124 Value 178 HasShape ← NewArrayDynamicLength#133 Bool 179 Test ← HasShape#178 → block 25, block 54 1 0 Block 25 180 NewArrayObject ← Constant#13 Object 181 Goto → block 26 Block 26 182 GuardShape ← NewArrayDynamicLength#133 Object 183 Constant 50 I[50, 50]: Double 184 GuardShape ← NewArrayObject#180 Object 185 Goto → block 27 Block 27 (loop header) 186 Phi ← Constant#15, Add#211 I[0 {}, 2147483647 {[loop] #170-1}]: Int32 187 Phi ← Constant#15, Phi#210 Int32 188 InterruptCheck 189 Compare ← Phi#186, ArrayLength#170 Lt Bool 190 Test ← Compare#189 → block 28, block 35 1 0 Block 28 191 Elements ← GuardShape#182 Elements 192 InitializedLength ← Elements#191 I[0, 268435453]: Int32 193 BoundsCheck ← Phi#186, InitializedLength#192 I[0, 2147483646]: Int32 194 SpectreMaskIndex ← BoundsCheck#193, InitializedLength#192 I[0, 2147483646]: Int32 195 GuardElementNotHole ← Elements#191, SpectreMaskIndex#194 196 Goto → block 29 Block 29 197 GuardElementsArePacked ← Elements#191 198 LoadElement ← Elements#191, SpectreMaskIndex#194 Value 199 AssertClass ← Lambda#164 200 Goto → block 30 Block 30 201 Unbox LoadElement#198 to Double (fallible) Double 202 Compare ← Unbox#201, Constant#183 Gt Bool 203 Goto → block 31 Block 31 204 Test ← Compare#202 → block 33, block 32 1 0 Block 32 (split edge) 205 Goto → block 34 Block 33 206 Add ← Phi#187, Constant#20 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 207 Elements ← GuardShape#184 Elements 208 StoreElementHole ← GuardShape#184, Elements#207, Phi#187, LoadElement#198 209 Goto → block 34 Block 34 (backedge) 210 Phi ← Add#206, Phi#187 Int32 211 Add ← Phi#186, Constant#20 [int32] I[1, 2147483647]: Int32 212 Goto → block 27 Block 35 213 Constant function complex4/< (-e:18) at 104289c63d98 Object 214 GuardShape ← NewArrayObject#180 Object 215 Constant function reduce (self-hosted:205) at 104289c479c0 Object 216 Lambda ← FunctionEnvironment#50, Constant#213 Object 217 Call ← Constant#215, NewArrayObject#180, Lambda#216, Constant#15 Value 218 Goto → block 36 Block 36 219 Constant shape at 104289c64fc0 Shape 220 NewPlainObject ← Constant#219 Object 221 GuardShape ← NewPlainObject#220 Object 222 PostWriteBarrier ← GuardShape#221, Call#66 223 StoreFixedSlot ← GuardShape#221, Call#66 (slot 0) 224 PostWriteBarrier ← GuardShape#221, BitOr#79 225 StoreFixedSlot ← GuardShape#221, BitOr#79 (slot 1) 226 PostWriteBarrier ← GuardShape#221, Call#81 227 StoreFixedSlot ← GuardShape#221, Call#81 (slot 2) 228 Goto → block 37 Block 37 229 Constant object 104289c3f078 (Call) Object 230 Constant function complex5/< (-e:22) at 104289c63e08 Object 231 NewCallObject ← Constant#229 Object 232 Box ← FunctionEnvironment#51 Value 233 AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#232 234 Box ← Constant#48 Value 235 AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#234 236 StoreFixedSlot ← NewCallObject#231, FunctionEnvironment#51 (slot 0) 237 StoreFixedSlot ← NewCallObject#231, Constant#48 (slot 1) 238 PostWriteBarrier ← NewCallObject#231, NewPlainObject#220 239 StoreFixedSlot ← NewCallObject#231, NewPlainObject#220 (slot 2) 240 AssertClass ← NewPlainObject#220 241 ObjectKeys ← NewPlainObject#220 Object 242 GuardShape ← ObjectKeys#241 Object 243 Lambda ← NewCallObject#231, Constant#230 Object 244 Goto → block 38 Block 38 245 DebugCheckSelfHosted ← Box#107 Value 246 DebugCheckSelfHosted ← Box#109 Value 247 GuardShape ← ObjectKeys#241 Object 248 Elements ← GuardShape#247 Elements 249 ArrayLength ← Elements#248 I[0, 2147483647]: Int32 250 Goto → block 39 Block 39 251 DebugCheckSelfHosted ← Box#116 Value 252 AssertClass ← Lambda#243 253 Goto → block 40 Block 40 254 Goto → block 41 Block 41 255 Goto → block 42 Block 42 256 DebugCheckSelfHosted ← Box#124 Value 257 HasShape ← ObjectKeys#241 Bool 258 Test ← HasShape#257 → block 43, block 55 1 0 Block 43 259 DebugCheckSelfHosted ← Box#129 Value 260 Unbox DebugCheckSelfHosted#259 to Object (fallible) Object 261 GuardSpecificFunction ← Unbox#260, Constant#128 Object 262 NewArrayDynamicLength ← ArrayLength#249 Object 263 Goto → block 44 Block 44 264 GuardShape ← ObjectKeys#241 Object 265 LoadFixedSlot ← NewCallObject#231 (slot 2) Value 266 Unbox LoadFixedSlot#265 to Object (fallible) Object 267 GuardShape ← NewArrayDynamicLength#262 Object 268 Goto → block 45 Block 45 (loop header) 269 Phi ← Constant#15, Add#288 I[0 {}, 2147483647 {[loop] #249-1}]: Int32 270 InterruptCheck 271 Compare ← Phi#269, ArrayLength#249 Lt Bool 272 Test ← Compare#271 → block 46, block 51 1 0 Block 46 273 Elements ← GuardShape#264 Elements 274 InitializedLength ← Elements#273 I[0, 268435453]: Int32 275 BoundsCheck ← Phi#269, InitializedLength#274 I[0, 2147483646]: Int32 276 SpectreMaskIndex ← BoundsCheck#275, InitializedLength#274 I[0, 2147483646]: Int32 277 GuardElementNotHole ← Elements#273, SpectreMaskIndex#276 278 Goto → block 47 Block 47 279 GuardElementsArePacked ← Elements#273 280 LoadElement ← Elements#273, SpectreMaskIndex#276 Value 281 AssertClass ← Lambda#243 282 Goto → block 48 Block 48 283 MegamorphicLoadSlotByValue ← Unbox#266, LoadElement#280 Value 284 Goto → block 49 Block 49 285 Elements ← GuardShape#267 Elements 286 StoreElementHole ← GuardShape#267, Elements#285, Phi#269, MegamorphicLoadSlotByValue#283 287 Goto → block 50 Block 50 (backedge) 288 Add ← Phi#269, Constant#20 [int32] I[1, 2147483647]: Int32 289 Goto → block 45 Block 51 290 Constant function complex5/< (-e:22) at 104289c63e40 Object 291 GuardShape ← NewArrayDynamicLength#262 Object 292 Lambda ← NewCallObject#231, Constant#290 Object 293 Call ← Constant#215, NewArrayDynamicLength#262, Lambda#292, Constant#15 Value 294 Goto → block 52 Block 52 (backedge) 295 Add ← Phi#58, Constant#20 [int32] I[1, 10]: Int32 296 Box ← BitOr#79 Value 297 Goto → block 1 Block 53 298 CallGetIntrinsicValue Value 299 DebugCheckSelfHosted ← CallGetIntrinsicValue#298 Value 300 Bail 301 Unreachable Block 54 302 CallGetIntrinsicValue Value 303 DebugCheckSelfHosted ← CallGetIntrinsicValue#302 Value 304 Bail 305 Unreachable Block 55 306 CallGetIntrinsicValue Value 307 DebugCheckSelfHosted ← CallGetIntrinsicValue#306 Value 308 Bail 309 Unreachable Block 56 310 Unbox Phi#53 to Double (fallible) Double 311 Unbox Phi#54 to Double (fallible) Double 312 Add ← Unbox#310, Unbox#311 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 313 Unbox Phi#55 to Double (fallible) Double 314 Add ← Add#312, Unbox#313 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 315 Unbox Phi#56 to Double (fallible) Double 316 Add ← Add#314, Unbox#315 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 317 Unbox Phi#57 to Double (fallible) Double 318 Add ← Add#316, Unbox#317 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 319 Box ← Add#318 Value 320 Return ← Box#319
Block 0 0 Constant magic optimized-out MagicOptimizedOut 1 Parameter THIS_SLOT Value 2 Parameter 0 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Constant function complex1 (-e:2) at 104289c6c8c8 Object 8 Call ← Constant#7, Constant#3, Parameter#2 Value 9 Constant function complex2 (-e:7) at 104289c6c970 Object 10 Call ← Constant#9, Constant#3, Parameter#2 Value 11 Constant function complex3 (-e:11) at 104289c6c938 Object 12 Call ← Constant#11, Constant#3, Parameter#2, Call#8 Value 13 Constant shape at 104289c64f00 Shape 14 NewArrayObject ← Constant#13 Object 15 Constant 0x0 I[0, 0]: Int32 16 Elements ← NewArrayObject#14 Elements 17 PostWriteBarrier ← NewArrayObject#14, Call#8 18 StoreElement ← Elements#16, Constant#15, Call#8 19 SetInitializedLength ← Elements#16, Constant#15 20 Constant 0x1 I[1, 1]: Int32 21 Elements ← NewArrayObject#14 Elements 22 PostWriteBarrier ← NewArrayObject#14, Call#10 23 StoreElement ← Elements#21, Constant#20, Call#10 24 SetInitializedLength ← Elements#21, Constant#20 25 Constant 0x2 I[2, 2]: Int32 26 Elements ← NewArrayObject#14 Elements 27 PostWriteBarrier ← NewArrayObject#14, Call#12 28 StoreElement ← Elements#26, Constant#25, Call#12 29 SetInitializedLength ← Elements#26, Constant#25 30 Constant 0x3 I[3, 3]: Int32 31 Elements ← NewArrayObject#14 Elements 32 PostWriteBarrier ← NewArrayObject#14, Parameter#2 33 StoreElement ← Elements#31, Constant#30, Parameter#2 34 SetInitializedLength ← Elements#31, Constant#30 35 Constant function complex4 (-e:17) at 104289c6c890 Object 36 Call ← Constant#35, Constant#3, NewArrayObject#14 Value 37 Constant shape at 104289c64fa0 Shape 38 NewPlainObject ← Constant#37 Object 39 GuardShape ← NewPlainObject#38 Object 40 PostWriteBarrier ← GuardShape#39, Call#8 41 StoreFixedSlot ← GuardShape#39, Call#8 (slot 0) 42 PostWriteBarrier ← GuardShape#39, Call#10 43 StoreFixedSlot ← GuardShape#39, Call#10 (slot 1) 44 PostWriteBarrier ← GuardShape#39, Call#12 45 StoreFixedSlot ← GuardShape#39, Call#12 (slot 2) 46 PostWriteBarrier ← GuardShape#39, Call#36 47 StoreFixedSlot ← GuardShape#39, Call#36 (slot 3) 48 Constant function complex5 (-e:21) at 104289c6c900 Object 49 Call ← Constant#48, Constant#3, NewPlainObject#38 Value 50 FunctionEnvironment ← Constant#35 Object 51 FunctionEnvironment ← Constant#48 Object 52 Goto → block 1 Block 1 (loop header) 53 Phi ← Call#8, Call#66 Value 54 Phi ← Call#10, Box#296 Value 55 Phi ← Call#12, Call#81 Value 56 Phi ← Call#36, Call#217 Value 57 Phi ← Call#49, Call#293 Value 58 Phi ← Constant#15, Add#295 I[0 {}, 2147483647 {[loop] +9}]: Int32 59 InterruptCheck 60 Constant 0xa I[10, 10]: Int32 61 Compare ← Phi#58, Constant#60 Lt Bool 62 Test ← Compare#61 → block 2, block 56 1 0 Block 2 63 Unbox Phi#53 to Double (fallible) Double 64 ToDouble ← Phi#58 I[0, 9]: Double 65 Add ← Unbox#63, ToDouble#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 66 Call ← Constant#7, Constant#3, Add#65 Value 67 Unbox Phi#54 to Int32 (fallible) Int32 68 Add ← Unbox#67, Phi#58 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32 69 Goto → block 3 Block 3 70 Constant 0xff I[255, 255]: Int32 71 Lsh ← Add#68, Constant#20 I[-2147483648, 2147483647]: Int32 72 Rsh ← Add#68, Constant#20 I[-1073741824, 1073741823]: Int32 73 BitAnd ← Add#68, Constant#70 I[0, 255]: Int32 74 Ursh ← Add#68, Constant#25 I[0, 1073741823]: Int32 75 Add ← BitAnd#73, Ursh#74 [int32] I[0, 1073742078]: Int32 76 BitNot ← Add#68 I[-2147483648, 2147483647]: Int32 77 Sub ← Add#75, BitNot#76 [int32] I[-2147483648, 2147483647]: Int32 (t) 78 BitXor ← Rsh#72, Sub#77 I[-2147483648, 2147483647]: Int32 79 BitOr ← Lsh#71, BitXor#78 I[-2147483648, 2147483647]: Int32 80 Goto → block 4 Block 4 81 Call ← Constant#11, Constant#3, Phi#55, Call#66 Value 82 NewArrayObject ← Constant#13 Object 83 Elements ← NewArrayObject#82 Elements 84 PostWriteBarrier ← NewArrayObject#82, Call#66 85 StoreElement ← Elements#83, Constant#15, Call#66 86 SetInitializedLength ← Elements#83, Constant#15 87 Elements ← NewArrayObject#82 Elements 88 PostWriteBarrier ← NewArrayObject#82, BitOr#79 89 StoreElement ← Elements#87, Constant#20, BitOr#79 90 SetInitializedLength ← Elements#87, Constant#20 91 Elements ← NewArrayObject#82 Elements 92 PostWriteBarrier ← NewArrayObject#82, Call#81 93 StoreElement ← Elements#91, Constant#25, Call#81 94 SetInitializedLength ← Elements#91, Constant#25 95 Elements ← NewArrayObject#82 Elements 96 PostWriteBarrier ← NewArrayObject#82, Phi#58 97 StoreElement ← Elements#95, Constant#30, Phi#58 98 SetInitializedLength ← Elements#95, Constant#30 99 Goto → block 5 Block 5 100 Constant function complex4/< (-e:18) at 104289c63d28 Object 101 GuardShape ← NewArrayObject#82 Object 102 Constant function map (self-hosted:163) at 104289c47920 Object 103 Lambda ← FunctionEnvironment#50, Constant#100 Object 104 Goto → block 6 Block 6 105 Constant function ToObject at 104289c6c740 Object 106 Constant function ToLength at 104289c6c778 Object 107 Box ← Constant#105 Value 108 DebugCheckSelfHosted ← Box#107 Value 109 Box ← Constant#106 Value 110 DebugCheckSelfHosted ← Box#109 Value 111 GuardShape ← NewArrayObject#82 Object 112 Elements ← GuardShape#111 Elements 113 ArrayLength ← Elements#112 I[0, 2147483647]: Int32 114 Goto → block 7 Block 7 115 Constant function IsCallable at 104289c6c7b0 Object 116 Box ← Constant#115 Value 117 DebugCheckSelfHosted ← Box#116 Value 118 AssertClass ← Lambda#103 119 Goto → block 8 Block 8 120 Goto → block 9 Block 9 121 Box ← Constant#3 Value 122 Goto → block 10 Block 10 123 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 124 Box ← Constant#123 Value 125 DebugCheckSelfHosted ← Box#124 Value 126 HasShape ← NewArrayObject#82 Bool 127 Test ← HasShape#126 → block 11, block 53 1 0 Block 11 128 Constant function std_Array at 104289c6c820 Object 129 Box ← Constant#128 Value 130 DebugCheckSelfHosted ← Box#129 Value 131 Unbox DebugCheckSelfHosted#130 to Object (fallible) Object 132 GuardSpecificFunction ← Unbox#131, Constant#128 Object 133 NewArrayDynamicLength ← ArrayLength#113 Object 134 Goto → block 12 Block 12 135 GuardShape ← NewArrayObject#82 Object 136 Constant 2 I[2, 2]: Double 137 GuardShape ← NewArrayDynamicLength#133 Object 138 Goto → block 13 Block 13 (loop header) 139 Phi ← Constant#15, Add#159 I[0 {}, 2147483647 {[loop] #113-1}]: Int32 140 InterruptCheck 141 Compare ← Phi#139, ArrayLength#113 Lt Bool 142 Test ← Compare#141 → block 14, block 19 1 0 Block 14 143 Elements ← GuardShape#135 Elements 144 InitializedLength ← Elements#143 I[0, 268435453]: Int32 145 BoundsCheck ← Phi#139, InitializedLength#144 I[0, 2147483646]: Int32 146 SpectreMaskIndex ← Phi#139, InitializedLength#144 I[0, 2147483646]: Int32 147 GuardElementNotHole ← Elements#143, SpectreMaskIndex#146 148 Goto → block 15 Block 15 149 GuardElementsArePacked ← Elements#143 150 LoadElement ← Elements#143, SpectreMaskIndex#146 Value 151 AssertClass ← Lambda#103 152 Goto → block 16 Block 16 153 Unbox LoadElement#150 to Double (fallible) Double 154 Mul ← Unbox#153, Constant#136 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 155 Goto → block 17 Block 17 156 Elements ← GuardShape#137 Elements 157 StoreElementHole ← GuardShape#137, Elements#156, Phi#139, Mul#154 158 Goto → block 18 Block 18 (backedge) 159 Add ← Phi#139, Constant#20 [int32] I[1, 2147483647]: Int32 160 Goto → block 13 Block 19 161 Constant function complex4/< (-e:18) at 104289c63d60 Object 162 GuardShape ← NewArrayDynamicLength#133 Object 163 Constant function filter (self-hosted:183) at 104289c47970 Object 164 Lambda ← FunctionEnvironment#50, Constant#161 Object 165 Goto → block 20 Block 20 166 DebugCheckSelfHosted ← Box#107 Value 167 DebugCheckSelfHosted ← Box#109 Value 168 GuardShape ← NewArrayDynamicLength#133 Object 169 Elements ← GuardShape#168 Elements 170 ArrayLength ← Elements#169 I[0, 2147483647]: Int32 171 Goto → block 21 Block 21 172 DebugCheckSelfHosted ← Box#116 Value 173 AssertClass ← Lambda#164 174 Goto → block 22 Block 22 175 Goto → block 23 Block 23 176 Goto → block 24 Block 24 177 DebugCheckSelfHosted ← Box#124 Value 178 HasShape ← NewArrayDynamicLength#133 Bool 179 Test ← HasShape#178 → block 25, block 54 1 0 Block 25 180 NewArrayObject ← Constant#13 Object 181 Goto → block 26 Block 26 182 GuardShape ← NewArrayDynamicLength#133 Object 183 Constant 50 I[50, 50]: Double 184 GuardShape ← NewArrayObject#180 Object 185 Goto → block 27 Block 27 (loop header) 186 Phi ← Constant#15, Add#211 I[0 {}, 2147483647 {[loop] #170-1}]: Int32 187 Phi ← Constant#15, Phi#210 Int32 188 InterruptCheck 189 Compare ← Phi#186, ArrayLength#170 Lt Bool 190 Test ← Compare#189 → block 28, block 35 1 0 Block 28 191 Elements ← GuardShape#182 Elements 192 InitializedLength ← Elements#191 I[0, 268435453]: Int32 193 BoundsCheck ← Phi#186, InitializedLength#192 I[0, 2147483646]: Int32 194 SpectreMaskIndex ← Phi#186, InitializedLength#192 I[0, 2147483646]: Int32 195 GuardElementNotHole ← Elements#191, SpectreMaskIndex#194 196 Goto → block 29 Block 29 197 GuardElementsArePacked ← Elements#191 198 LoadElement ← Elements#191, SpectreMaskIndex#194 Value 199 AssertClass ← Lambda#164 200 Goto → block 30 Block 30 201 Unbox LoadElement#198 to Double (fallible) Double 202 Compare ← Unbox#201, Constant#183 Gt Bool 203 Goto → block 31 Block 31 204 Test ← Compare#202 → block 33, block 32 1 0 Block 32 (split edge) 205 Goto → block 34 Block 33 206 Add ← Phi#187, Constant#20 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 207 Elements ← GuardShape#184 Elements 208 StoreElementHole ← GuardShape#184, Elements#207, Phi#187, LoadElement#198 209 Goto → block 34 Block 34 (backedge) 210 Phi ← Add#206, Phi#187 Int32 211 Add ← Phi#186, Constant#20 [int32] I[1, 2147483647]: Int32 212 Goto → block 27 Block 35 213 Constant function complex4/< (-e:18) at 104289c63d98 Object 214 GuardShape ← NewArrayObject#180 Object 215 Constant function reduce (self-hosted:205) at 104289c479c0 Object 216 Lambda ← FunctionEnvironment#50, Constant#213 Object 217 Call ← Constant#215, NewArrayObject#180, Lambda#216, Constant#15 Value 218 Goto → block 36 Block 36 219 Constant shape at 104289c64fc0 Shape 220 NewPlainObject ← Constant#219 Object 221 GuardShape ← NewPlainObject#220 Object 222 PostWriteBarrier ← GuardShape#221, Call#66 223 StoreFixedSlot ← GuardShape#221, Call#66 (slot 0) 224 PostWriteBarrier ← GuardShape#221, BitOr#79 225 StoreFixedSlot ← GuardShape#221, BitOr#79 (slot 1) 226 PostWriteBarrier ← GuardShape#221, Call#81 227 StoreFixedSlot ← GuardShape#221, Call#81 (slot 2) 228 Goto → block 37 Block 37 229 Constant object 104289c3f078 (Call) Object 230 Constant function complex5/< (-e:22) at 104289c63e08 Object 231 NewCallObject ← Constant#229 Object 232 Box ← FunctionEnvironment#51 Value 233 AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#232 234 Box ← Constant#48 Value 235 AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#234 236 StoreFixedSlot ← NewCallObject#231, FunctionEnvironment#51 (slot 0) 237 StoreFixedSlot ← NewCallObject#231, Constant#48 (slot 1) 238 PostWriteBarrier ← NewCallObject#231, NewPlainObject#220 239 StoreFixedSlot ← NewCallObject#231, NewPlainObject#220 (slot 2) 240 AssertClass ← NewPlainObject#220 241 ObjectKeys ← NewPlainObject#220 Object 242 GuardShape ← ObjectKeys#241 Object 243 Lambda ← NewCallObject#231, Constant#230 Object 244 Goto → block 38 Block 38 245 DebugCheckSelfHosted ← Box#107 Value 246 DebugCheckSelfHosted ← Box#109 Value 247 GuardShape ← ObjectKeys#241 Object 248 Elements ← GuardShape#247 Elements 249 ArrayLength ← Elements#248 I[0, 2147483647]: Int32 250 Goto → block 39 Block 39 251 DebugCheckSelfHosted ← Box#116 Value 252 AssertClass ← Lambda#243 253 Goto → block 40 Block 40 254 Goto → block 41 Block 41 255 Goto → block 42 Block 42 256 DebugCheckSelfHosted ← Box#124 Value 257 HasShape ← ObjectKeys#241 Bool 258 Test ← HasShape#257 → block 43, block 55 1 0 Block 43 259 DebugCheckSelfHosted ← Box#129 Value 260 Unbox DebugCheckSelfHosted#259 to Object (fallible) Object 261 GuardSpecificFunction ← Unbox#260, Constant#128 Object 262 NewArrayDynamicLength ← ArrayLength#249 Object 263 Goto → block 44 Block 44 264 GuardShape ← ObjectKeys#241 Object 265 LoadFixedSlot ← NewCallObject#231 (slot 2) Value 266 Unbox LoadFixedSlot#265 to Object (fallible) Object 267 GuardShape ← NewArrayDynamicLength#262 Object 268 Goto → block 45 Block 45 (loop header) 269 Phi ← Constant#15, Add#288 I[0 {}, 2147483647 {[loop] #249-1}]: Int32 270 InterruptCheck 271 Compare ← Phi#269, ArrayLength#249 Lt Bool 272 Test ← Compare#271 → block 46, block 51 1 0 Block 46 273 Elements ← GuardShape#264 Elements 274 InitializedLength ← Elements#273 I[0, 268435453]: Int32 275 BoundsCheck ← Phi#269, InitializedLength#274 I[0, 2147483646]: Int32 276 SpectreMaskIndex ← Phi#269, InitializedLength#274 I[0, 2147483646]: Int32 277 GuardElementNotHole ← Elements#273, SpectreMaskIndex#276 278 Goto → block 47 Block 47 279 GuardElementsArePacked ← Elements#273 280 LoadElement ← Elements#273, SpectreMaskIndex#276 Value 281 AssertClass ← Lambda#243 282 Goto → block 48 Block 48 283 MegamorphicLoadSlotByValue ← Unbox#266, LoadElement#280 Value 284 Goto → block 49 Block 49 285 Elements ← GuardShape#267 Elements 286 StoreElementHole ← GuardShape#267, Elements#285, Phi#269, MegamorphicLoadSlotByValue#283 287 Goto → block 50 Block 50 (backedge) 288 Add ← Phi#269, Constant#20 [int32] I[1, 2147483647]: Int32 289 Goto → block 45 Block 51 290 Constant function complex5/< (-e:22) at 104289c63e40 Object 291 GuardShape ← NewArrayDynamicLength#262 Object 292 Lambda ← NewCallObject#231, Constant#290 Object 293 Call ← Constant#215, NewArrayDynamicLength#262, Lambda#292, Constant#15 Value 294 Goto → block 52 Block 52 (backedge) 295 Add ← Phi#58, Constant#20 [int32] I[1, 10]: Int32 296 Box ← BitOr#79 Value 297 Goto → block 1 Block 53 298 CallGetIntrinsicValue Value 299 DebugCheckSelfHosted ← CallGetIntrinsicValue#298 Value 300 Bail 301 Unreachable Block 54 302 CallGetIntrinsicValue Value 303 DebugCheckSelfHosted ← CallGetIntrinsicValue#302 Value 304 Bail 305 Unreachable Block 55 306 CallGetIntrinsicValue Value 307 DebugCheckSelfHosted ← CallGetIntrinsicValue#306 Value 308 Bail 309 Unreachable Block 56 310 Unbox Phi#53 to Double (fallible) Double 311 Unbox Phi#54 to Double (fallible) Double 312 Add ← Unbox#310, Unbox#311 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 313 Unbox Phi#55 to Double (fallible) Double 314 Add ← Add#312, Unbox#313 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 315 Unbox Phi#56 to Double (fallible) Double 316 Add ← Add#314, Unbox#315 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 317 Unbox Phi#57 to Double (fallible) Double 318 Add ← Add#316, Unbox#317 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 319 Box ← Add#318 Value 320 Return ← Box#319
Block 0 0 Constant magic optimized-out MagicOptimizedOut 1 Parameter THIS_SLOT Value 2 Parameter 0 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Constant function complex1 (-e:2) at 104289c6c8c8 Object 8 Call ← Constant#7, Constant#3, Parameter#2 Value 9 Constant function complex2 (-e:7) at 104289c6c970 Object 10 Call ← Constant#9, Constant#3, Parameter#2 Value 11 Constant function complex3 (-e:11) at 104289c6c938 Object 12 Call ← Constant#11, Constant#3, Parameter#2, Call#8 Value 13 Constant shape at 104289c64f00 Shape 14 NewArrayObject ← Constant#13 Object 15 Constant 0x0 I[0, 0]: Int32 16 Elements ← NewArrayObject#14 Elements 17 PostWriteBarrier ← NewArrayObject#14, Call#8 18 StoreElement ← Elements#16, Constant#15, Call#8 19 SetInitializedLength ← Elements#16, Constant#15 20 Constant 0x1 I[1, 1]: Int32 21 Elements ← NewArrayObject#14 Elements 22 PostWriteBarrier ← NewArrayObject#14, Call#10 23 StoreElement ← Elements#21, Constant#20, Call#10 24 SetInitializedLength ← Elements#21, Constant#20 25 Constant 0x2 I[2, 2]: Int32 26 Elements ← NewArrayObject#14 Elements 27 PostWriteBarrier ← NewArrayObject#14, Call#12 28 StoreElement ← Elements#26, Constant#25, Call#12 29 SetInitializedLength ← Elements#26, Constant#25 30 Constant 0x3 I[3, 3]: Int32 31 Elements ← NewArrayObject#14 Elements 32 PostWriteBarrier ← NewArrayObject#14, Parameter#2 33 StoreElement ← Elements#31, Constant#30, Parameter#2 34 SetInitializedLength ← Elements#31, Constant#30 35 Constant function complex4 (-e:17) at 104289c6c890 Object 36 Call ← Constant#35, Constant#3, NewArrayObject#14 Value 37 Constant shape at 104289c64fa0 Shape 38 NewPlainObject ← Constant#37 Object 39 GuardShape ← NewPlainObject#38 Object 40 PostWriteBarrier ← GuardShape#39, Call#8 41 StoreFixedSlot ← GuardShape#39, Call#8 (slot 0) 42 PostWriteBarrier ← GuardShape#39, Call#10 43 StoreFixedSlot ← GuardShape#39, Call#10 (slot 1) 44 PostWriteBarrier ← GuardShape#39, Call#12 45 StoreFixedSlot ← GuardShape#39, Call#12 (slot 2) 46 PostWriteBarrier ← GuardShape#39, Call#36 47 StoreFixedSlot ← GuardShape#39, Call#36 (slot 3) 48 Constant function complex5 (-e:21) at 104289c6c900 Object 49 Call ← Constant#48, Constant#3, NewPlainObject#38 Value 50 FunctionEnvironment ← Constant#35 Object 51 FunctionEnvironment ← Constant#48 Object 52 Goto → block 1 Block 1 (loop header) 53 Phi ← Call#8, Call#66 Value 54 Phi ← Call#10, Box#296 Value 55 Phi ← Call#12, Call#81 Value 56 Phi ← Call#36, Call#217 Value 57 Phi ← Call#49, Call#293 Value 58 Phi ← Constant#15, Add#295 I[0 {}, 2147483647 {[loop] +9}]: Int32 59 InterruptCheck 60 Constant 0xa I[10, 10]: Int32 61 Compare ← Phi#58, Constant#60 Lt Bool 62 Test ← Compare#61 → block 2, block 56 1 0 Block 2 63 Unbox Phi#53 to Double (fallible) Double 64 ToDouble ← Phi#58 I[0, 9]: Double 65 Add ← Unbox#63, ToDouble#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 66 Call ← Constant#7, Constant#3, Add#65 Value 67 Unbox Phi#54 to Int32 (fallible) Int32 68 Add ← Unbox#67, Phi#58 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32 69 Goto → block 3 Block 3 70 Constant 0xff I[255, 255]: Int32 71 Lsh ← Add#68, Constant#20 I[-2147483648, 2147483647]: Int32 72 Rsh ← Add#68, Constant#20 I[-1073741824, 1073741823]: Int32 73 BitAnd ← Add#68, Constant#70 I[0, 255]: Int32 74 Ursh ← Add#68, Constant#25 I[0, 1073741823]: Int32 75 Add ← BitAnd#73, Ursh#74 [int32] I[0, 1073742078]: Int32 76 BitNot ← Add#68 I[-2147483648, 2147483647]: Int32 77 Sub ← Add#75, BitNot#76 [int32] I[-2147483648, 2147483647]: Int32 (t) 78 BitXor ← Rsh#72, Sub#77 I[-2147483648, 2147483647]: Int32 79 BitOr ← Lsh#71, BitXor#78 I[-2147483648, 2147483647]: Int32 80 Goto → block 4 Block 4 81 Call ← Constant#11, Constant#3, Phi#55, Call#66 Value 82 NewArrayObject ← Constant#13 Object 83 Elements ← NewArrayObject#82 Elements 84 PostWriteBarrier ← NewArrayObject#82, Call#66 85 StoreElement ← Elements#83, Constant#15, Call#66 86 SetInitializedLength ← Elements#83, Constant#15 87 Elements ← NewArrayObject#82 Elements 88 PostWriteBarrier ← NewArrayObject#82, BitOr#79 89 StoreElement ← Elements#87, Constant#20, BitOr#79 90 SetInitializedLength ← Elements#87, Constant#20 91 Elements ← NewArrayObject#82 Elements 92 PostWriteBarrier ← NewArrayObject#82, Call#81 93 StoreElement ← Elements#91, Constant#25, Call#81 94 SetInitializedLength ← Elements#91, Constant#25 95 Elements ← NewArrayObject#82 Elements 96 PostWriteBarrier ← NewArrayObject#82, Phi#58 97 StoreElement ← Elements#95, Constant#30, Phi#58 98 SetInitializedLength ← Elements#95, Constant#30 99 Goto → block 5 Block 5 100 Constant function complex4/< (-e:18) at 104289c63d28 Object 101 GuardShape ← NewArrayObject#82 Object 102 Constant function map (self-hosted:163) at 104289c47920 Object 103 Lambda ← FunctionEnvironment#50, Constant#100 Object 104 Goto → block 6 Block 6 105 Constant function ToObject at 104289c6c740 Object 106 Constant function ToLength at 104289c6c778 Object 107 Box ← Constant#105 Value 108 DebugCheckSelfHosted ← Box#107 Value 109 Box ← Constant#106 Value 110 DebugCheckSelfHosted ← Box#109 Value 111 GuardShape ← NewArrayObject#82 Object 112 Elements ← GuardShape#111 Elements 113 ArrayLength ← Elements#112 I[0, 2147483647]: Int32 114 Goto → block 7 Block 7 115 Constant function IsCallable at 104289c6c7b0 Object 116 Box ← Constant#115 Value 117 DebugCheckSelfHosted ← Box#116 Value 118 AssertClass ← Lambda#103 119 Goto → block 8 Block 8 120 Goto → block 9 Block 9 121 Box ← Constant#3 Value 122 Goto → block 10 Block 10 123 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 124 Box ← Constant#123 Value 125 DebugCheckSelfHosted ← Box#124 Value 126 HasShape ← NewArrayObject#82 Bool 127 Test ← HasShape#126 → block 11, block 53 1 0 Block 11 128 Constant function std_Array at 104289c6c820 Object 129 Box ← Constant#128 Value 130 DebugCheckSelfHosted ← Box#129 Value 131 Unbox DebugCheckSelfHosted#130 to Object (fallible) Object 132 GuardSpecificFunction ← Unbox#131, Constant#128 Object 133 NewArrayDynamicLength ← ArrayLength#113 Object 134 Goto → block 12 Block 12 135 GuardShape ← NewArrayObject#82 Object 136 Constant 2 I[2, 2]: Double 137 GuardShape ← NewArrayDynamicLength#133 Object 138 Goto → block 13 Block 13 (loop header) 139 Phi ← Constant#15, Add#159 I[0 {}, 2147483647 {[loop] #113-1}]: Int32 140 InterruptCheck 141 Compare ← Phi#139, ArrayLength#113 Lt Bool 142 Test ← Compare#141 → block 14, block 19 1 0 Block 14 143 Elements ← GuardShape#135 Elements 144 InitializedLength ← Elements#143 I[0, 268435453]: Int32 145 BoundsCheck ← Phi#139, InitializedLength#144 I[0, 2147483646]: Int32 146 SpectreMaskIndex ← Phi#139, InitializedLength#144 I[0, 2147483646]: Int32 147 GuardElementNotHole ← Elements#143, SpectreMaskIndex#146 148 Goto → block 15 Block 15 149 GuardElementsArePacked ← Elements#143 150 LoadElement ← Elements#143, SpectreMaskIndex#146 Value 151 AssertClass ← Lambda#103 152 Goto → block 16 Block 16 153 Unbox LoadElement#150 to Double (fallible) Double 154 Mul ← Unbox#153, Constant#136 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 155 Goto → block 17 Block 17 156 Elements ← GuardShape#137 Elements 157 StoreElementHole ← GuardShape#137, Elements#156, Phi#139, Mul#154 158 Goto → block 18 Block 18 (backedge) 159 Add ← Phi#139, Constant#20 [int32] I[1, 2147483647]: Int32 160 Goto → block 13 Block 19 161 Constant function complex4/< (-e:18) at 104289c63d60 Object 162 GuardShape ← NewArrayDynamicLength#133 Object 163 Constant function filter (self-hosted:183) at 104289c47970 Object 164 Lambda ← FunctionEnvironment#50, Constant#161 Object 165 Goto → block 20 Block 20 166 DebugCheckSelfHosted ← Box#107 Value 167 DebugCheckSelfHosted ← Box#109 Value 168 GuardShape ← NewArrayDynamicLength#133 Object 169 Elements ← GuardShape#168 Elements 170 ArrayLength ← Elements#169 I[0, 2147483647]: Int32 171 Goto → block 21 Block 21 172 DebugCheckSelfHosted ← Box#116 Value 173 AssertClass ← Lambda#164 174 Goto → block 22 Block 22 175 Goto → block 23 Block 23 176 Goto → block 24 Block 24 177 DebugCheckSelfHosted ← Box#124 Value 178 HasShape ← NewArrayDynamicLength#133 Bool 179 Test ← HasShape#178 → block 25, block 54 1 0 Block 25 180 NewArrayObject ← Constant#13 Object 181 Goto → block 26 Block 26 182 GuardShape ← NewArrayDynamicLength#133 Object 183 Constant 50 I[50, 50]: Double 184 GuardShape ← NewArrayObject#180 Object 185 Goto → block 27 Block 27 (loop header) 186 Phi ← Constant#15, Add#211 I[0 {}, 2147483647 {[loop] #170-1}]: Int32 187 Phi ← Constant#15, Phi#210 Int32 188 InterruptCheck 189 Compare ← Phi#186, ArrayLength#170 Lt Bool 190 Test ← Compare#189 → block 28, block 35 1 0 Block 28 191 Elements ← GuardShape#182 Elements 192 InitializedLength ← Elements#191 I[0, 268435453]: Int32 193 BoundsCheck ← Phi#186, InitializedLength#192 I[0, 2147483646]: Int32 194 SpectreMaskIndex ← Phi#186, InitializedLength#192 I[0, 2147483646]: Int32 195 GuardElementNotHole ← Elements#191, SpectreMaskIndex#194 196 Goto → block 29 Block 29 197 GuardElementsArePacked ← Elements#191 198 LoadElement ← Elements#191, SpectreMaskIndex#194 Value 199 AssertClass ← Lambda#164 200 Goto → block 30 Block 30 201 Unbox LoadElement#198 to Double (fallible) Double 202 Compare ← Unbox#201, Constant#183 Gt Bool 203 Goto → block 31 Block 31 204 Test ← Compare#202 → block 33, block 32 1 0 Block 32 (split edge) 205 Goto → block 34 Block 33 206 Add ← Phi#187, Constant#20 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 207 Elements ← GuardShape#184 Elements 208 StoreElementHole ← GuardShape#184, Elements#207, Phi#187, LoadElement#198 209 Goto → block 34 Block 34 (backedge) 210 Phi ← Add#206, Phi#187 Int32 211 Add ← Phi#186, Constant#20 [int32] I[1, 2147483647]: Int32 212 Goto → block 27 Block 35 213 Constant function complex4/< (-e:18) at 104289c63d98 Object 214 GuardShape ← NewArrayObject#180 Object 215 Constant function reduce (self-hosted:205) at 104289c479c0 Object 216 Lambda ← FunctionEnvironment#50, Constant#213 Object 217 Call ← Constant#215, NewArrayObject#180, Lambda#216, Constant#15 Value 218 Goto → block 36 Block 36 219 Constant shape at 104289c64fc0 Shape 220 NewPlainObject ← Constant#219 Object 221 GuardShape ← NewPlainObject#220 Object 222 PostWriteBarrier ← GuardShape#221, Call#66 223 StoreFixedSlot ← GuardShape#221, Call#66 (slot 0) 224 PostWriteBarrier ← GuardShape#221, BitOr#79 225 StoreFixedSlot ← GuardShape#221, BitOr#79 (slot 1) 226 PostWriteBarrier ← GuardShape#221, Call#81 227 StoreFixedSlot ← GuardShape#221, Call#81 (slot 2) 228 Goto → block 37 Block 37 229 Constant object 104289c3f078 (Call) Object 230 Constant function complex5/< (-e:22) at 104289c63e08 Object 231 NewCallObject ← Constant#229 Object 232 Box ← FunctionEnvironment#51 Value 233 AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#232 234 Box ← Constant#48 Value 235 AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#234 236 StoreFixedSlot ← NewCallObject#231, FunctionEnvironment#51 (slot 0) 237 StoreFixedSlot ← NewCallObject#231, Constant#48 (slot 1) 238 PostWriteBarrier ← NewCallObject#231, NewPlainObject#220 239 StoreFixedSlot ← NewCallObject#231, NewPlainObject#220 (slot 2) 240 AssertClass ← NewPlainObject#220 241 ObjectKeys ← NewPlainObject#220 Object 242 GuardShape ← ObjectKeys#241 Object 243 Lambda ← NewCallObject#231, Constant#230 Object 244 Goto → block 38 Block 38 245 DebugCheckSelfHosted ← Box#107 Value 246 DebugCheckSelfHosted ← Box#109 Value 247 GuardShape ← ObjectKeys#241 Object 248 Elements ← GuardShape#247 Elements 249 ArrayLength ← Elements#248 I[0, 2147483647]: Int32 250 Goto → block 39 Block 39 251 DebugCheckSelfHosted ← Box#116 Value 252 AssertClass ← Lambda#243 253 Goto → block 40 Block 40 254 Goto → block 41 Block 41 255 Goto → block 42 Block 42 256 DebugCheckSelfHosted ← Box#124 Value 257 HasShape ← ObjectKeys#241 Bool 258 Test ← HasShape#257 → block 43, block 55 1 0 Block 43 259 DebugCheckSelfHosted ← Box#129 Value 260 Unbox DebugCheckSelfHosted#259 to Object (fallible) Object 261 GuardSpecificFunction ← Unbox#260, Constant#128 Object 262 NewArrayDynamicLength ← ArrayLength#249 Object 263 Goto → block 44 Block 44 264 GuardShape ← ObjectKeys#241 Object 265 LoadFixedSlot ← NewCallObject#231 (slot 2) Value 266 Unbox LoadFixedSlot#265 to Object (fallible) Object 267 GuardShape ← NewArrayDynamicLength#262 Object 268 Goto → block 45 Block 45 (loop header) 269 Phi ← Constant#15, Add#288 I[0 {}, 2147483647 {[loop] #249-1}]: Int32 270 InterruptCheck 271 Compare ← Phi#269, ArrayLength#249 Lt Bool 272 Test ← Compare#271 → block 46, block 51 1 0 Block 46 273 Elements ← GuardShape#264 Elements 274 InitializedLength ← Elements#273 I[0, 268435453]: Int32 275 BoundsCheck ← Phi#269, InitializedLength#274 I[0, 2147483646]: Int32 276 SpectreMaskIndex ← Phi#269, InitializedLength#274 I[0, 2147483646]: Int32 277 GuardElementNotHole ← Elements#273, SpectreMaskIndex#276 278 Goto → block 47 Block 47 279 GuardElementsArePacked ← Elements#273 280 LoadElement ← Elements#273, SpectreMaskIndex#276 Value 281 AssertClass ← Lambda#243 282 Goto → block 48 Block 48 283 MegamorphicLoadSlotByValue ← Unbox#266, LoadElement#280 Value 284 Goto → block 49 Block 49 285 Elements ← GuardShape#267 Elements 286 StoreElementHole ← GuardShape#267, Elements#285, Phi#269, MegamorphicLoadSlotByValue#283 287 Goto → block 50 Block 50 (backedge) 288 Add ← Phi#269, Constant#20 [int32] I[1, 2147483647]: Int32 289 Goto → block 45 Block 51 290 Constant function complex5/< (-e:22) at 104289c63e40 Object 291 GuardShape ← NewArrayDynamicLength#262 Object 292 Lambda ← NewCallObject#231, Constant#290 Object 293 Call ← Constant#215, NewArrayDynamicLength#262, Lambda#292, Constant#15 Value 294 Goto → block 52 Block 52 (backedge) 295 Add ← Phi#58, Constant#20 [int32] I[1, 10]: Int32 296 Box ← BitOr#79 Value 297 Goto → block 1 Block 53 298 CallGetIntrinsicValue Value 299 DebugCheckSelfHosted ← CallGetIntrinsicValue#298 Value 300 Bail 301 Unreachable Block 54 302 CallGetIntrinsicValue Value 303 DebugCheckSelfHosted ← CallGetIntrinsicValue#302 Value 304 Bail 305 Unreachable Block 55 306 CallGetIntrinsicValue Value 307 DebugCheckSelfHosted ← CallGetIntrinsicValue#306 Value 308 Bail 309 Unreachable Block 56 310 Unbox Phi#53 to Double (fallible) Double 311 Unbox Phi#54 to Double (fallible) Double 312 Add ← Unbox#310, Unbox#311 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 313 Unbox Phi#55 to Double (fallible) Double 314 Add ← Add#312, Unbox#313 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 315 Unbox Phi#56 to Double (fallible) Double 316 Add ← Add#314, Unbox#315 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 317 Unbox Phi#57 to Double (fallible) Double 318 Add ← Add#316, Unbox#317 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 319 Box ← Add#318 Value 320 Return ← Box#319
Block 0 0 Constant magic optimized-out MagicOptimizedOut 1 Parameter THIS_SLOT Value 2 Parameter 0 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Constant function complex1 (-e:2) at 104289c6c8c8 Object 8 Call ← Constant#7, Constant#3, Parameter#2 Value 9 Constant function complex2 (-e:7) at 104289c6c970 Object 10 Call ← Constant#9, Constant#3, Parameter#2 Value 11 Constant function complex3 (-e:11) at 104289c6c938 Object 12 Call ← Constant#11, Constant#3, Parameter#2, Call#8 Value 13 Constant shape at 104289c64f00 Shape 14 NewArrayObject ← Constant#13 Object 15 Constant 0x0 I[0, 0]: Int32 16 Elements ← NewArrayObject#14 Elements 17 PostWriteBarrier ← NewArrayObject#14, Call#8 18 StoreElement ← Elements#16, Constant#15, Call#8 19 SetInitializedLength ← Elements#16, Constant#15 20 Constant 0x1 I[1, 1]: Int32 21 Elements ← NewArrayObject#14 Elements 22 PostWriteBarrier ← NewArrayObject#14, Call#10 23 StoreElement ← Elements#21, Constant#20, Call#10 24 SetInitializedLength ← Elements#21, Constant#20 25 Constant 0x2 I[2, 2]: Int32 26 Elements ← NewArrayObject#14 Elements 27 PostWriteBarrier ← NewArrayObject#14, Call#12 28 StoreElement ← Elements#26, Constant#25, Call#12 29 SetInitializedLength ← Elements#26, Constant#25 30 Constant 0x3 I[3, 3]: Int32 31 Elements ← NewArrayObject#14 Elements 32 PostWriteBarrier ← NewArrayObject#14, Parameter#2 33 StoreElement ← Elements#31, Constant#30, Parameter#2 34 SetInitializedLength ← Elements#31, Constant#30 35 Constant function complex4 (-e:17) at 104289c6c890 Object 36 Call ← Constant#35, Constant#3, NewArrayObject#14 Value 37 Constant shape at 104289c64fa0 Shape 38 NewPlainObject ← Constant#37 Object 39 GuardShape ← NewPlainObject#38 Object 40 PostWriteBarrier ← GuardShape#39, Call#8 41 StoreFixedSlot ← GuardShape#39, Call#8 (slot 0) 42 PostWriteBarrier ← GuardShape#39, Call#10 43 StoreFixedSlot ← GuardShape#39, Call#10 (slot 1) 44 PostWriteBarrier ← GuardShape#39, Call#12 45 StoreFixedSlot ← GuardShape#39, Call#12 (slot 2) 46 PostWriteBarrier ← GuardShape#39, Call#36 47 StoreFixedSlot ← GuardShape#39, Call#36 (slot 3) 48 Constant function complex5 (-e:21) at 104289c6c900 Object 49 Call ← Constant#48, Constant#3, NewPlainObject#38 Value 50 FunctionEnvironment ← Constant#35 Object 51 FunctionEnvironment ← Constant#48 Object 52 Goto → block 1 Block 1 (loop header) 53 Phi ← Call#8, Call#66 Value 54 Phi ← Call#10, Box#296 Value 55 Phi ← Call#12, Call#81 Value 56 Phi ← Call#36, Call#217 Value 57 Phi ← Call#49, Call#293 Value 58 Phi ← Constant#15, Add#295 I[0 {}, 2147483647 {[loop] +9}]: Int32 59 InterruptCheck 60 Constant 0xa I[10, 10]: Int32 61 Compare ← Phi#58, Constant#60 Lt Bool 62 Test ← Compare#61 → block 2, block 56 1 0 Block 2 63 Unbox Phi#53 to Double (fallible) Double 64 ToDouble ← Phi#58 I[0, 9]: Double 65 Add ← Unbox#63, ToDouble#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 66 Call ← Constant#7, Constant#3, Add#65 Value 67 Unbox Phi#54 to Int32 (fallible) Int32 68 Add ← Unbox#67, Phi#58 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32 69 Goto → block 3 Block 3 70 Constant 0xff I[255, 255]: Int32 71 Lsh ← Add#68, Constant#20 I[-2147483648, 2147483647]: Int32 72 Rsh ← Add#68, Constant#20 I[-1073741824, 1073741823]: Int32 73 BitAnd ← Add#68, Constant#70 I[0, 255]: Int32 74 Ursh ← Add#68, Constant#25 I[0, 1073741823]: Int32 75 Add ← BitAnd#73, Ursh#74 [int32] I[0, 1073742078]: Int32 76 BitNot ← Add#68 I[-2147483648, 2147483647]: Int32 77 Sub ← Add#75, BitNot#76 [int32] I[-2147483648, 2147483647]: Int32 (t) 78 BitXor ← Rsh#72, Sub#77 I[-2147483648, 2147483647]: Int32 79 BitOr ← Lsh#71, BitXor#78 I[-2147483648, 2147483647]: Int32 80 Goto → block 4 Block 4 81 Call ← Constant#11, Constant#3, Phi#55, Call#66 Value 82 NewArrayObject ← Constant#13 Object 83 Elements ← NewArrayObject#82 Elements 84 PostWriteBarrier ← NewArrayObject#82, Call#66 85 StoreElement ← Elements#83, Constant#15, Call#66 86 SetInitializedLength ← Elements#83, Constant#15 87 Elements ← NewArrayObject#82 Elements 88 PostWriteBarrier ← NewArrayObject#82, BitOr#79 89 StoreElement ← Elements#87, Constant#20, BitOr#79 90 SetInitializedLength ← Elements#87, Constant#20 91 Elements ← NewArrayObject#82 Elements 92 PostWriteBarrier ← NewArrayObject#82, Call#81 93 StoreElement ← Elements#91, Constant#25, Call#81 94 SetInitializedLength ← Elements#91, Constant#25 95 Elements ← NewArrayObject#82 Elements 96 PostWriteBarrier ← NewArrayObject#82, Phi#58 97 StoreElement ← Elements#95, Constant#30, Phi#58 98 SetInitializedLength ← Elements#95, Constant#30 99 Goto → block 5 Block 5 100 Constant function complex4/< (-e:18) at 104289c63d28 Object 101 GuardShape ← NewArrayObject#82 Object 102 Constant function map (self-hosted:163) at 104289c47920 Object 103 Lambda ← FunctionEnvironment#50, Constant#100 Object 104 Goto → block 6 Block 6 105 Constant function ToObject at 104289c6c740 Object 106 Constant function ToLength at 104289c6c778 Object 107 Box ← Constant#105 Value 108 DebugCheckSelfHosted ← Box#107 Value 109 Box ← Constant#106 Value 110 DebugCheckSelfHosted ← Box#109 Value 111 GuardShape ← NewArrayObject#82 Object 112 Elements ← GuardShape#111 Elements 113 ArrayLength ← Elements#112 I[0, 2147483647]: Int32 114 Goto → block 7 Block 7 115 Constant function IsCallable at 104289c6c7b0 Object 116 Box ← Constant#115 Value 117 DebugCheckSelfHosted ← Box#116 Value 118 AssertClass ← Lambda#103 119 Goto → block 8 Block 8 120 Goto → block 9 Block 9 121 Box ← Constant#3 Value 122 Goto → block 10 Block 10 123 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 124 Box ← Constant#123 Value 125 DebugCheckSelfHosted ← Box#124 Value 126 HasShape ← NewArrayObject#82 Bool 127 Test ← HasShape#126 → block 11, block 53 1 0 Block 11 128 Constant function std_Array at 104289c6c820 Object 129 Box ← Constant#128 Value 130 DebugCheckSelfHosted ← Box#129 Value 131 Unbox DebugCheckSelfHosted#130 to Object (fallible) Object 132 GuardSpecificFunction ← Unbox#131, Constant#128 Object 133 NewArrayDynamicLength ← ArrayLength#113 Object 134 Goto → block 12 Block 12 135 GuardShape ← NewArrayObject#82 Object 136 Constant 2 I[2, 2]: Double 137 GuardShape ← NewArrayDynamicLength#133 Object 138 Goto → block 13 Block 13 (loop header) 139 Phi ← Constant#15, Add#159 I[0 {}, 2147483647 {[loop] #113-1}]: Int32 140 InterruptCheck 141 Compare ← Phi#139, ArrayLength#113 Lt Bool 142 Test ← Compare#141 → block 14, block 19 1 0 Block 14 143 Elements ← GuardShape#135 Elements 144 InitializedLength ← Elements#143 I[0, 268435453]: Int32 145 BoundsCheck ← Phi#139, InitializedLength#144 I[0, 2147483646]: Int32 146 SpectreMaskIndex ← Phi#139, InitializedLength#144 I[0, 2147483646]: Int32 147 GuardElementNotHole ← Elements#143, SpectreMaskIndex#146 148 Goto → block 15 Block 15 149 GuardElementsArePacked ← Elements#143 150 LoadElement ← Elements#143, SpectreMaskIndex#146 Value 151 AssertClass ← Lambda#103 152 Goto → block 16 Block 16 153 Unbox LoadElement#150 to Double (fallible) Double 154 Mul ← Unbox#153, Constant#136 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 155 Goto → block 17 Block 17 156 Elements ← GuardShape#137 Elements 157 StoreElementHole ← GuardShape#137, Elements#156, Phi#139, Mul#154 158 Goto → block 18 Block 18 (backedge) 159 Add ← Phi#139, Constant#20 [int32] I[1, 2147483647]: Int32 160 Goto → block 13 Block 19 161 Constant function complex4/< (-e:18) at 104289c63d60 Object 162 GuardShape ← NewArrayDynamicLength#133 Object 163 Constant function filter (self-hosted:183) at 104289c47970 Object 164 Lambda ← FunctionEnvironment#50, Constant#161 Object 165 Goto → block 20 Block 20 166 DebugCheckSelfHosted ← Box#107 Value 167 DebugCheckSelfHosted ← Box#109 Value 168 GuardShape ← NewArrayDynamicLength#133 Object 169 Elements ← GuardShape#168 Elements 170 ArrayLength ← Elements#169 I[0, 2147483647]: Int32 171 Goto → block 21 Block 21 172 DebugCheckSelfHosted ← Box#116 Value 173 AssertClass ← Lambda#164 174 Goto → block 22 Block 22 175 Goto → block 23 Block 23 176 Goto → block 24 Block 24 177 DebugCheckSelfHosted ← Box#124 Value 178 HasShape ← NewArrayDynamicLength#133 Bool 179 Test ← HasShape#178 → block 25, block 54 1 0 Block 25 180 NewArrayObject ← Constant#13 Object 181 Goto → block 26 Block 26 182 GuardShape ← NewArrayDynamicLength#133 Object 183 Constant 50 I[50, 50]: Double 184 GuardShape ← NewArrayObject#180 Object 185 Goto → block 27 Block 27 (loop header) 186 Phi ← Constant#15, Add#211 I[0 {}, 2147483647 {[loop] #170-1}]: Int32 187 Phi ← Constant#15, Phi#210 Int32 188 InterruptCheck 189 Compare ← Phi#186, ArrayLength#170 Lt Bool 190 Test ← Compare#189 → block 28, block 35 1 0 Block 28 191 Elements ← GuardShape#182 Elements 192 InitializedLength ← Elements#191 I[0, 268435453]: Int32 193 BoundsCheck ← Phi#186, InitializedLength#192 I[0, 2147483646]: Int32 194 SpectreMaskIndex ← Phi#186, InitializedLength#192 I[0, 2147483646]: Int32 195 GuardElementNotHole ← Elements#191, SpectreMaskIndex#194 196 Goto → block 29 Block 29 197 GuardElementsArePacked ← Elements#191 198 LoadElement ← Elements#191, SpectreMaskIndex#194 Value 199 AssertClass ← Lambda#164 200 Goto → block 30 Block 30 201 Unbox LoadElement#198 to Double (fallible) Double 202 Compare ← Unbox#201, Constant#183 Gt Bool 203 Goto → block 31 Block 31 204 Test ← Compare#202 → block 33, block 32 1 0 Block 32 (split edge) 205 Goto → block 34 Block 33 206 Add ← Phi#187, Constant#20 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 207 Elements ← GuardShape#184 Elements 208 StoreElementHole ← GuardShape#184, Elements#207, Phi#187, LoadElement#198 209 Goto → block 34 Block 34 (backedge) 210 Phi ← Add#206, Phi#187 Int32 211 Add ← Phi#186, Constant#20 [int32] I[1, 2147483647]: Int32 212 Goto → block 27 Block 35 213 Constant function complex4/< (-e:18) at 104289c63d98 Object 214 GuardShape ← NewArrayObject#180 Object 215 Constant function reduce (self-hosted:205) at 104289c479c0 Object 216 Lambda ← FunctionEnvironment#50, Constant#213 Object 217 Call ← Constant#215, NewArrayObject#180, Lambda#216, Constant#15 Value 218 Goto → block 36 Block 36 219 Constant shape at 104289c64fc0 Shape 220 NewPlainObject ← Constant#219 Object 221 GuardShape ← NewPlainObject#220 Object 222 PostWriteBarrier ← GuardShape#221, Call#66 223 StoreFixedSlot ← GuardShape#221, Call#66 (slot 0) 224 PostWriteBarrier ← GuardShape#221, BitOr#79 225 StoreFixedSlot ← GuardShape#221, BitOr#79 (slot 1) 226 PostWriteBarrier ← GuardShape#221, Call#81 227 StoreFixedSlot ← GuardShape#221, Call#81 (slot 2) 228 Goto → block 37 Block 37 229 Constant object 104289c3f078 (Call) Object 230 Constant function complex5/< (-e:22) at 104289c63e08 Object 231 NewCallObject ← Constant#229 Object 232 Box ← FunctionEnvironment#51 Value 233 AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#232 234 Box ← Constant#48 Value 235 AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#234 236 StoreFixedSlot ← NewCallObject#231, FunctionEnvironment#51 (slot 0) 237 StoreFixedSlot ← NewCallObject#231, Constant#48 (slot 1) 848 Box ← NewPlainObject#220 Value 849 AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#848 239 StoreFixedSlot ← NewCallObject#231, NewPlainObject#220 (slot 2) 240 AssertClass ← NewPlainObject#220 241 ObjectKeys ← NewPlainObject#220 Object 242 GuardShape ← ObjectKeys#241 Object 243 Lambda ← NewCallObject#231, Constant#230 Object 244 Goto → block 38 Block 38 245 DebugCheckSelfHosted ← Box#107 Value 246 DebugCheckSelfHosted ← Box#109 Value 247 GuardShape ← ObjectKeys#241 Object 248 Elements ← GuardShape#247 Elements 249 ArrayLength ← Elements#248 I[0, 2147483647]: Int32 250 Goto → block 39 Block 39 251 DebugCheckSelfHosted ← Box#116 Value 252 AssertClass ← Lambda#243 253 Goto → block 40 Block 40 254 Goto → block 41 Block 41 255 Goto → block 42 Block 42 256 DebugCheckSelfHosted ← Box#124 Value 257 HasShape ← ObjectKeys#241 Bool 258 Test ← HasShape#257 → block 43, block 55 1 0 Block 43 259 DebugCheckSelfHosted ← Box#129 Value 260 Unbox DebugCheckSelfHosted#259 to Object (fallible) Object 261 GuardSpecificFunction ← Unbox#260, Constant#128 Object 262 NewArrayDynamicLength ← ArrayLength#249 Object 263 Goto → block 44 Block 44 264 GuardShape ← ObjectKeys#241 Object 265 LoadFixedSlot ← NewCallObject#231 (slot 2) Value 266 Unbox LoadFixedSlot#265 to Object (fallible) Object 267 GuardShape ← NewArrayDynamicLength#262 Object 268 Goto → block 45 Block 45 (loop header) 269 Phi ← Constant#15, Add#288 I[0 {}, 2147483647 {[loop] #249-1}]: Int32 270 InterruptCheck 271 Compare ← Phi#269, ArrayLength#249 Lt Bool 272 Test ← Compare#271 → block 46, block 51 1 0 Block 46 273 Elements ← GuardShape#264 Elements 274 InitializedLength ← Elements#273 I[0, 268435453]: Int32 275 BoundsCheck ← Phi#269, InitializedLength#274 I[0, 2147483646]: Int32 276 SpectreMaskIndex ← Phi#269, InitializedLength#274 I[0, 2147483646]: Int32 277 GuardElementNotHole ← Elements#273, SpectreMaskIndex#276 278 Goto → block 47 Block 47 279 GuardElementsArePacked ← Elements#273 280 LoadElement ← Elements#273, SpectreMaskIndex#276 Value 281 AssertClass ← Lambda#243 282 Goto → block 48 Block 48 283 MegamorphicLoadSlotByValue ← Unbox#266, LoadElement#280 Value 284 Goto → block 49 Block 49 285 Elements ← GuardShape#267 Elements 286 StoreElementHole ← GuardShape#267, Elements#285, Phi#269, MegamorphicLoadSlotByValue#283 287 Goto → block 50 Block 50 (backedge) 288 Add ← Phi#269, Constant#20 [int32] I[1, 2147483647]: Int32 289 Goto → block 45 Block 51 290 Constant function complex5/< (-e:22) at 104289c63e40 Object 291 GuardShape ← NewArrayDynamicLength#262 Object 292 Lambda ← NewCallObject#231, Constant#290 Object 293 Call ← Constant#215, NewArrayDynamicLength#262, Lambda#292, Constant#15 Value 294 Goto → block 52 Block 52 (backedge) 295 Add ← Phi#58, Constant#20 [int32] I[1, 10]: Int32 296 Box ← BitOr#79 Value 297 Goto → block 1 Block 53 298 CallGetIntrinsicValue Value 299 DebugCheckSelfHosted ← CallGetIntrinsicValue#298 Value 300 Bail 301 Unreachable Block 54 302 CallGetIntrinsicValue Value 303 DebugCheckSelfHosted ← CallGetIntrinsicValue#302 Value 304 Bail 305 Unreachable Block 55 306 CallGetIntrinsicValue Value 307 DebugCheckSelfHosted ← CallGetIntrinsicValue#306 Value 308 Bail 309 Unreachable Block 56 310 Unbox Phi#53 to Double (fallible) Double 311 Unbox Phi#54 to Double (fallible) Double 312 Add ← Unbox#310, Unbox#311 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 313 Unbox Phi#55 to Double (fallible) Double 314 Add ← Add#312, Unbox#313 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 315 Unbox Phi#56 to Double (fallible) Double 316 Add ← Add#314, Unbox#315 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 317 Unbox Phi#57 to Double (fallible) Double 318 Add ← Add#316, Unbox#317 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 319 Box ← Add#318 Value 320 Return ← Box#319
Block 0 0 Constant magic optimized-out MagicOptimizedOut 1 Parameter THIS_SLOT Value 2 Parameter 0 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Constant function complex1 (-e:2) at 104289c6c8c8 Object 8 Call ← Constant#7, Constant#3, Parameter#2 Value 9 Constant function complex2 (-e:7) at 104289c6c970 Object 10 Call ← Constant#9, Constant#3, Parameter#2 Value 11 Constant function complex3 (-e:11) at 104289c6c938 Object 12 Call ← Constant#11, Constant#3, Parameter#2, Call#8 Value 13 Constant shape at 104289c64f00 Shape 14 NewArrayObject ← Constant#13 Object 15 Constant 0x0 I[0, 0]: Int32 16 Elements ← NewArrayObject#14 Elements 17 PostWriteBarrier ← NewArrayObject#14, Call#8 18 StoreElement ← Elements#16, Constant#15, Call#8 19 SetInitializedLength ← Elements#16, Constant#15 20 Constant 0x1 I[1, 1]: Int32 21 Elements ← NewArrayObject#14 Elements 22 PostWriteBarrier ← NewArrayObject#14, Call#10 23 StoreElement ← Elements#21, Constant#20, Call#10 24 SetInitializedLength ← Elements#21, Constant#20 25 Constant 0x2 I[2, 2]: Int32 26 Elements ← NewArrayObject#14 Elements 27 PostWriteBarrier ← NewArrayObject#14, Call#12 28 StoreElement ← Elements#26, Constant#25, Call#12 29 SetInitializedLength ← Elements#26, Constant#25 30 Constant 0x3 I[3, 3]: Int32 31 Elements ← NewArrayObject#14 Elements 32 PostWriteBarrier ← NewArrayObject#14, Parameter#2 33 StoreElement ← Elements#31, Constant#30, Parameter#2 34 SetInitializedLength ← Elements#31, Constant#30 35 Constant function complex4 (-e:17) at 104289c6c890 Object 36 Call ← Constant#35, Constant#3, NewArrayObject#14 Value 37 Constant shape at 104289c64fa0 Shape 38 NewPlainObject ← Constant#37 Object 39 GuardShape ← NewPlainObject#38 Object 40 PostWriteBarrier ← GuardShape#39, Call#8 41 StoreFixedSlot ← GuardShape#39, Call#8 (slot 0) 42 PostWriteBarrier ← GuardShape#39, Call#10 43 StoreFixedSlot ← GuardShape#39, Call#10 (slot 1) 44 PostWriteBarrier ← GuardShape#39, Call#12 45 StoreFixedSlot ← GuardShape#39, Call#12 (slot 2) 46 PostWriteBarrier ← GuardShape#39, Call#36 47 StoreFixedSlot ← GuardShape#39, Call#36 (slot 3) 48 Constant function complex5 (-e:21) at 104289c6c900 Object 49 Call ← Constant#48, Constant#3, NewPlainObject#38 Value 50 FunctionEnvironment ← Constant#35 Object 51 FunctionEnvironment ← Constant#48 Object 52 Goto → block 1 Block 1 (loop header) 53 Phi ← Call#8, Call#66 Value 54 Phi ← Call#10, Box#296 Value 55 Phi ← Call#12, Call#81 Value 56 Phi ← Call#36, Call#217 Value 57 Phi ← Call#49, Call#293 Value 58 Phi ← Constant#15, Add#295 I[0 {}, 2147483647 {[loop] +9}]: Int32 59 InterruptCheck 60 Constant 0xa I[10, 10]: Int32 61 Compare ← Phi#58, Constant#60 Lt Bool 62 Test ← Compare#61 → block 2, block 56 1 0 Block 2 63 Unbox Phi#53 to Double (fallible) Double 64 ToDouble ← Phi#58 I[0, 9]: Double 65 Add ← Unbox#63, ToDouble#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 66 Call ← Constant#7, Constant#3, Add#65 Value 67 Unbox Phi#54 to Int32 (fallible) Int32 68 Add ← Unbox#67, Phi#58 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32 69 Goto → block 3 Block 3 70 Constant 0xff I[255, 255]: Int32 71 Lsh ← Add#68, Constant#20 I[-2147483648, 2147483647]: Int32 72 Rsh ← Add#68, Constant#20 I[-1073741824, 1073741823]: Int32 73 BitAnd ← Add#68, Constant#70 I[0, 255]: Int32 74 Ursh ← Add#68, Constant#25 I[0, 1073741823]: Int32 75 Add ← BitAnd#73, Ursh#74 [int32] I[0, 1073742078]: Int32 76 BitNot ← Add#68 I[-2147483648, 2147483647]: Int32 77 Sub ← Add#75, BitNot#76 [int32] I[-2147483648, 2147483647]: Int32 (t) 78 BitXor ← Rsh#72, Sub#77 I[-2147483648, 2147483647]: Int32 79 BitOr ← Lsh#71, BitXor#78 I[-2147483648, 2147483647]: Int32 80 Goto → block 4 Block 4 81 Call ← Constant#11, Constant#3, Phi#55, Call#66 Value 82 NewArrayObject ← Constant#13 Object 83 Elements ← NewArrayObject#82 Elements 84 PostWriteBarrier ← NewArrayObject#82, Call#66 85 StoreElement ← Elements#83, Constant#15, Call#66 86 SetInitializedLength ← Elements#83, Constant#15 87 Elements ← NewArrayObject#82 Elements 88 PostWriteBarrier ← NewArrayObject#82, BitOr#79 89 StoreElement ← Elements#87, Constant#20, BitOr#79 90 SetInitializedLength ← Elements#87, Constant#20 91 Elements ← NewArrayObject#82 Elements 92 PostWriteBarrier ← NewArrayObject#82, Call#81 93 StoreElement ← Elements#91, Constant#25, Call#81 94 SetInitializedLength ← Elements#91, Constant#25 95 Elements ← NewArrayObject#82 Elements 96 PostWriteBarrier ← NewArrayObject#82, Phi#58 97 StoreElement ← Elements#95, Constant#30, Phi#58 98 SetInitializedLength ← Elements#95, Constant#30 99 Goto → block 5 Block 5 100 Constant function complex4/< (-e:18) at 104289c63d28 Object 101 GuardShape ← NewArrayObject#82 Object 102 Constant function map (self-hosted:163) at 104289c47920 Object 103 Lambda ← FunctionEnvironment#50, Constant#100 Object 104 Goto → block 6 Block 6 105 Constant function ToObject at 104289c6c740 Object 106 Constant function ToLength at 104289c6c778 Object 107 Box ← Constant#105 Value 108 DebugCheckSelfHosted ← Box#107 Value 109 Box ← Constant#106 Value 110 DebugCheckSelfHosted ← Box#109 Value 111 GuardShape ← NewArrayObject#82 Object 112 Elements ← GuardShape#111 Elements 113 ArrayLength ← Elements#112 I[0, 2147483647]: Int32 114 Goto → block 7 Block 7 115 Constant function IsCallable at 104289c6c7b0 Object 116 Box ← Constant#115 Value 117 DebugCheckSelfHosted ← Box#116 Value 118 AssertClass ← Lambda#103 119 Goto → block 8 Block 8 120 Goto → block 9 Block 9 121 Box ← Constant#3 Value 122 Goto → block 10 Block 10 123 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 124 Box ← Constant#123 Value 125 DebugCheckSelfHosted ← Box#124 Value 126 HasShape ← NewArrayObject#82 Bool 127 Test ← HasShape#126 → block 11, block 53 1 0 Block 11 128 Constant function std_Array at 104289c6c820 Object 129 Box ← Constant#128 Value 130 DebugCheckSelfHosted ← Box#129 Value 131 Unbox DebugCheckSelfHosted#130 to Object (fallible) Object 132 GuardSpecificFunction ← Unbox#131, Constant#128 Object 133 NewArrayDynamicLength ← ArrayLength#113 Object 134 Goto → block 12 Block 12 135 GuardShape ← NewArrayObject#82 Object 136 Constant 2 I[2, 2]: Double 137 GuardShape ← NewArrayDynamicLength#133 Object 138 Goto → block 13 Block 13 (loop header) 139 Phi ← Constant#15, Add#159 I[0 {}, 2147483647 {[loop] #113-1}]: Int32 140 InterruptCheck 141 Compare ← Phi#139, ArrayLength#113 Lt Bool 142 Test ← Compare#141 → block 14, block 19 1 0 Block 14 143 Elements ← GuardShape#135 Elements 144 InitializedLength ← Elements#143 I[0, 268435453]: Int32 145 BoundsCheck ← Phi#139, InitializedLength#144 I[0, 2147483646]: Int32 146 SpectreMaskIndex ← Phi#139, InitializedLength#144 I[0, 2147483646]: Int32 147 GuardElementNotHole ← Elements#143, SpectreMaskIndex#146 148 Goto → block 15 Block 15 149 GuardElementsArePacked ← Elements#143 150 LoadElement ← Elements#143, SpectreMaskIndex#146 Value 151 AssertClass ← Lambda#103 152 Goto → block 16 Block 16 153 Unbox LoadElement#150 to Double (fallible) Double 154 Mul ← Unbox#153, Constant#136 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 155 Goto → block 17 Block 17 156 Elements ← GuardShape#137 Elements 157 StoreElementHole ← GuardShape#137, Elements#156, Phi#139, Mul#154 158 Goto → block 18 Block 18 (backedge) 159 Add ← Phi#139, Constant#20 [int32] I[1, 2147483647]: Int32 160 Goto → block 13 Block 19 161 Constant function complex4/< (-e:18) at 104289c63d60 Object 162 GuardShape ← NewArrayDynamicLength#133 Object 163 Constant function filter (self-hosted:183) at 104289c47970 Object 164 Lambda ← FunctionEnvironment#50, Constant#161 Object 165 Goto → block 20 Block 20 166 DebugCheckSelfHosted ← Box#107 Value 167 DebugCheckSelfHosted ← Box#109 Value 168 GuardShape ← NewArrayDynamicLength#133 Object 169 Elements ← GuardShape#168 Elements 170 ArrayLength ← Elements#169 I[0, 2147483647]: Int32 171 Goto → block 21 Block 21 172 DebugCheckSelfHosted ← Box#116 Value 173 AssertClass ← Lambda#164 174 Goto → block 22 Block 22 175 Goto → block 23 Block 23 176 Goto → block 24 Block 24 177 DebugCheckSelfHosted ← Box#124 Value 178 HasShape ← NewArrayDynamicLength#133 Bool 179 Test ← HasShape#178 → block 25, block 54 1 0 Block 25 180 NewArrayObject ← Constant#13 Object 181 Goto → block 26 Block 26 182 GuardShape ← NewArrayDynamicLength#133 Object 183 Constant 50 I[50, 50]: Double 184 GuardShape ← NewArrayObject#180 Object 185 Goto → block 27 Block 27 (loop header) 186 Phi ← Constant#15, Add#211 I[0 {}, 2147483647 {[loop] #170-1}]: Int32 187 Phi ← Constant#15, Phi#210 Int32 188 InterruptCheck 189 Compare ← Phi#186, ArrayLength#170 Lt Bool 190 Test ← Compare#189 → block 28, block 35 1 0 Block 28 191 Elements ← GuardShape#182 Elements 192 InitializedLength ← Elements#191 I[0, 268435453]: Int32 193 BoundsCheck ← Phi#186, InitializedLength#192 I[0, 2147483646]: Int32 194 SpectreMaskIndex ← Phi#186, InitializedLength#192 I[0, 2147483646]: Int32 195 GuardElementNotHole ← Elements#191, SpectreMaskIndex#194 196 Goto → block 29 Block 29 197 GuardElementsArePacked ← Elements#191 198 LoadElement ← Elements#191, SpectreMaskIndex#194 Value 199 AssertClass ← Lambda#164 200 Goto → block 30 Block 30 201 Unbox LoadElement#198 to Double (fallible) Double 202 Compare ← Unbox#201, Constant#183 Gt Bool 203 Goto → block 31 Block 31 204 Test ← Compare#202 → block 33, block 32 1 0 Block 32 (split edge) 205 Goto → block 34 Block 33 206 Add ← Phi#187, Constant#20 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 207 Elements ← GuardShape#184 Elements 208 StoreElementHole ← GuardShape#184, Elements#207, Phi#187, LoadElement#198 209 Goto → block 34 Block 34 (backedge) 210 Phi ← Add#206, Phi#187 Int32 211 Add ← Phi#186, Constant#20 [int32] I[1, 2147483647]: Int32 212 Goto → block 27 Block 35 213 Constant function complex4/< (-e:18) at 104289c63d98 Object 214 GuardShape ← NewArrayObject#180 Object 215 Constant function reduce (self-hosted:205) at 104289c479c0 Object 216 Lambda ← FunctionEnvironment#50, Constant#213 Object 217 Call ← Constant#215, NewArrayObject#180, Lambda#216, Constant#15 Value 218 Goto → block 36 Block 36 219 Constant shape at 104289c64fc0 Shape 220 NewPlainObject ← Constant#219 Object 221 GuardShape ← NewPlainObject#220 Object 222 PostWriteBarrier ← GuardShape#221, Call#66 223 StoreFixedSlot ← GuardShape#221, Call#66 (slot 0) 224 PostWriteBarrier ← GuardShape#221, BitOr#79 225 StoreFixedSlot ← GuardShape#221, BitOr#79 (slot 1) 226 PostWriteBarrier ← GuardShape#221, Call#81 227 StoreFixedSlot ← GuardShape#221, Call#81 (slot 2) 228 Goto → block 37 Block 37 229 Constant object 104289c3f078 (Call) Object 230 Constant function complex5/< (-e:22) at 104289c63e08 Object 231 NewCallObject ← Constant#229 Object 232 Box ← FunctionEnvironment#51 Value 233 AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#232 234 Box ← Constant#48 Value 235 AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#234 236 StoreFixedSlot ← NewCallObject#231, FunctionEnvironment#51 (slot 0) 237 StoreFixedSlot ← NewCallObject#231, Constant#48 (slot 1) 848 Box ← NewPlainObject#220 Value 849 AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#848 239 StoreFixedSlot ← NewCallObject#231, NewPlainObject#220 (slot 2) 240 AssertClass ← NewPlainObject#220 241 ObjectKeys ← NewPlainObject#220 Object 242 GuardShape ← ObjectKeys#241 Object 243 Lambda ← NewCallObject#231, Constant#230 Object 244 Goto → block 38 Block 38 245 DebugCheckSelfHosted ← Box#107 Value 246 DebugCheckSelfHosted ← Box#109 Value 247 GuardShape ← ObjectKeys#241 Object 248 Elements ← GuardShape#247 Elements 249 ArrayLength ← Elements#248 I[0, 2147483647]: Int32 250 Goto → block 39 Block 39 251 DebugCheckSelfHosted ← Box#116 Value 252 AssertClass ← Lambda#243 253 Goto → block 40 Block 40 254 Goto → block 41 Block 41 255 Goto → block 42 Block 42 256 DebugCheckSelfHosted ← Box#124 Value 257 HasShape ← ObjectKeys#241 Bool 258 Test ← HasShape#257 → block 43, block 55 1 0 Block 43 259 DebugCheckSelfHosted ← Box#129 Value 260 Unbox DebugCheckSelfHosted#259 to Object (fallible) Object 261 GuardSpecificFunction ← Unbox#260, Constant#128 Object 262 NewArrayDynamicLength ← ArrayLength#249 Object 263 Goto → block 44 Block 44 264 GuardShape ← ObjectKeys#241 Object 850 LoadFixedSlotAndUnbox ← NewCallObject#231 (slot 2) Object 267 GuardShape ← NewArrayDynamicLength#262 Object 268 Goto → block 45 Block 45 (loop header) 269 Phi ← Constant#15, Add#288 I[0 {}, 2147483647 {[loop] #249-1}]: Int32 270 InterruptCheck 271 Compare ← Phi#269, ArrayLength#249 Lt Bool 272 Test ← Compare#271 → block 46, block 51 1 0 Block 46 273 Elements ← GuardShape#264 Elements 274 InitializedLength ← Elements#273 I[0, 268435453]: Int32 275 BoundsCheck ← Phi#269, InitializedLength#274 I[0, 2147483646]: Int32 276 SpectreMaskIndex ← Phi#269, InitializedLength#274 I[0, 2147483646]: Int32 277 GuardElementNotHole ← Elements#273, SpectreMaskIndex#276 278 Goto → block 47 Block 47 279 GuardElementsArePacked ← Elements#273 280 LoadElement ← Elements#273, SpectreMaskIndex#276 Value 281 AssertClass ← Lambda#243 282 Goto → block 48 Block 48 283 MegamorphicLoadSlotByValue ← LoadFixedSlotAndUnbox#850, LoadElement#280 Value 284 Goto → block 49 Block 49 285 Elements ← GuardShape#267 Elements 286 StoreElementHole ← GuardShape#267, Elements#285, Phi#269, MegamorphicLoadSlotByValue#283 287 Goto → block 50 Block 50 (backedge) 288 Add ← Phi#269, Constant#20 [int32] I[1, 2147483647]: Int32 289 Goto → block 45 Block 51 290 Constant function complex5/< (-e:22) at 104289c63e40 Object 291 GuardShape ← NewArrayDynamicLength#262 Object 292 Lambda ← NewCallObject#231, Constant#290 Object 293 Call ← Constant#215, NewArrayDynamicLength#262, Lambda#292, Constant#15 Value 294 Goto → block 52 Block 52 (backedge) 295 Add ← Phi#58, Constant#20 [int32] I[1, 10]: Int32 296 Box ← BitOr#79 Value 297 Goto → block 1 Block 53 298 CallGetIntrinsicValue Value 299 DebugCheckSelfHosted ← CallGetIntrinsicValue#298 Value 300 Bail 301 Unreachable Block 54 302 CallGetIntrinsicValue Value 303 DebugCheckSelfHosted ← CallGetIntrinsicValue#302 Value 304 Bail 305 Unreachable Block 55 306 CallGetIntrinsicValue Value 307 DebugCheckSelfHosted ← CallGetIntrinsicValue#306 Value 308 Bail 309 Unreachable Block 56 310 Unbox Phi#53 to Double (fallible) Double 311 Unbox Phi#54 to Double (fallible) Double 312 Add ← Unbox#310, Unbox#311 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 313 Unbox Phi#55 to Double (fallible) Double 314 Add ← Add#312, Unbox#313 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 315 Unbox Phi#56 to Double (fallible) Double 316 Add ← Add#314, Unbox#315 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 317 Unbox Phi#57 to Double (fallible) Double 318 Add ← Add#316, Unbox#317 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 319 Box ← Add#318 Value 320 Return ← Box#319
Block 0 0 Constant magic optimized-out MagicOptimizedOut 1 Parameter THIS_SLOT Value 2 Parameter 0 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Constant function complex1 (-e:2) at 104289c6c8c8 Object 8 Call ← Constant#7, Constant#3, Parameter#2 Value 9 Constant function complex2 (-e:7) at 104289c6c970 Object 10 Call ← Constant#9, Constant#3, Parameter#2 Value 11 Constant function complex3 (-e:11) at 104289c6c938 Object 12 Call ← Constant#11, Constant#3, Parameter#2, Call#8 Value 13 Constant shape at 104289c64f00 Shape 14 NewArrayObject ← Constant#13 Object 15 Constant 0x0 I[0, 0]: Int32 16 Elements ← NewArrayObject#14 Elements 17 PostWriteBarrier ← NewArrayObject#14, Call#8 18 StoreElement ← Elements#16, Constant#15, Call#8 852 KeepAliveObject ← NewArrayObject#14 19 SetInitializedLength ← Elements#16, Constant#15 851 KeepAliveObject ← NewArrayObject#14 20 Constant 0x1 I[1, 1]: Int32 21 Elements ← NewArrayObject#14 Elements 22 PostWriteBarrier ← NewArrayObject#14, Call#10 23 StoreElement ← Elements#21, Constant#20, Call#10 854 KeepAliveObject ← NewArrayObject#14 24 SetInitializedLength ← Elements#21, Constant#20 853 KeepAliveObject ← NewArrayObject#14 25 Constant 0x2 I[2, 2]: Int32 26 Elements ← NewArrayObject#14 Elements 27 PostWriteBarrier ← NewArrayObject#14, Call#12 28 StoreElement ← Elements#26, Constant#25, Call#12 856 KeepAliveObject ← NewArrayObject#14 29 SetInitializedLength ← Elements#26, Constant#25 855 KeepAliveObject ← NewArrayObject#14 30 Constant 0x3 I[3, 3]: Int32 31 Elements ← NewArrayObject#14 Elements 32 PostWriteBarrier ← NewArrayObject#14, Parameter#2 33 StoreElement ← Elements#31, Constant#30, Parameter#2 858 KeepAliveObject ← NewArrayObject#14 34 SetInitializedLength ← Elements#31, Constant#30 857 KeepAliveObject ← NewArrayObject#14 35 Constant function complex4 (-e:17) at 104289c6c890 Object 36 Call ← Constant#35, Constant#3, NewArrayObject#14 Value 37 Constant shape at 104289c64fa0 Shape 38 NewPlainObject ← Constant#37 Object 39 GuardShape ← NewPlainObject#38 Object 40 PostWriteBarrier ← GuardShape#39, Call#8 41 StoreFixedSlot ← GuardShape#39, Call#8 (slot 0) 42 PostWriteBarrier ← GuardShape#39, Call#10 43 StoreFixedSlot ← GuardShape#39, Call#10 (slot 1) 44 PostWriteBarrier ← GuardShape#39, Call#12 45 StoreFixedSlot ← GuardShape#39, Call#12 (slot 2) 46 PostWriteBarrier ← GuardShape#39, Call#36 47 StoreFixedSlot ← GuardShape#39, Call#36 (slot 3) 48 Constant function complex5 (-e:21) at 104289c6c900 Object 49 Call ← Constant#48, Constant#3, NewPlainObject#38 Value 50 FunctionEnvironment ← Constant#35 Object 51 FunctionEnvironment ← Constant#48 Object 52 Goto → block 1 Block 1 (loop header) 53 Phi ← Call#8, Call#66 Value 54 Phi ← Call#10, Box#296 Value 55 Phi ← Call#12, Call#81 Value 56 Phi ← Call#36, Call#217 Value 57 Phi ← Call#49, Call#293 Value 58 Phi ← Constant#15, Add#295 I[0 {}, 2147483647 {[loop] +9}]: Int32 59 InterruptCheck 60 Constant 0xa I[10, 10]: Int32 61 Compare ← Phi#58, Constant#60 Lt Bool 62 Test ← Compare#61 → block 2, block 56 1 0 Block 2 63 Unbox Phi#53 to Double (fallible) Double 64 ToDouble ← Phi#58 I[0, 9]: Double 65 Add ← Unbox#63, ToDouble#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 66 Call ← Constant#7, Constant#3, Add#65 Value 67 Unbox Phi#54 to Int32 (fallible) Int32 68 Add ← Unbox#67, Phi#58 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32 69 Goto → block 3 Block 3 70 Constant 0xff I[255, 255]: Int32 71 Lsh ← Add#68, Constant#20 I[-2147483648, 2147483647]: Int32 72 Rsh ← Add#68, Constant#20 I[-1073741824, 1073741823]: Int32 73 BitAnd ← Add#68, Constant#70 I[0, 255]: Int32 74 Ursh ← Add#68, Constant#25 I[0, 1073741823]: Int32 75 Add ← BitAnd#73, Ursh#74 [int32] I[0, 1073742078]: Int32 76 BitNot ← Add#68 I[-2147483648, 2147483647]: Int32 77 Sub ← Add#75, BitNot#76 [int32] I[-2147483648, 2147483647]: Int32 (t) 78 BitXor ← Rsh#72, Sub#77 I[-2147483648, 2147483647]: Int32 79 BitOr ← Lsh#71, BitXor#78 I[-2147483648, 2147483647]: Int32 80 Goto → block 4 Block 4 81 Call ← Constant#11, Constant#3, Phi#55, Call#66 Value 82 NewArrayObject ← Constant#13 Object 83 Elements ← NewArrayObject#82 Elements 84 PostWriteBarrier ← NewArrayObject#82, Call#66 85 StoreElement ← Elements#83, Constant#15, Call#66 860 KeepAliveObject ← NewArrayObject#82 86 SetInitializedLength ← Elements#83, Constant#15 859 KeepAliveObject ← NewArrayObject#82 87 Elements ← NewArrayObject#82 Elements 88 PostWriteBarrier ← NewArrayObject#82, BitOr#79 89 StoreElement ← Elements#87, Constant#20, BitOr#79 862 KeepAliveObject ← NewArrayObject#82 90 SetInitializedLength ← Elements#87, Constant#20 861 KeepAliveObject ← NewArrayObject#82 91 Elements ← NewArrayObject#82 Elements 92 PostWriteBarrier ← NewArrayObject#82, Call#81 93 StoreElement ← Elements#91, Constant#25, Call#81 864 KeepAliveObject ← NewArrayObject#82 94 SetInitializedLength ← Elements#91, Constant#25 863 KeepAliveObject ← NewArrayObject#82 95 Elements ← NewArrayObject#82 Elements 96 PostWriteBarrier ← NewArrayObject#82, Phi#58 97 StoreElement ← Elements#95, Constant#30, Phi#58 866 KeepAliveObject ← NewArrayObject#82 98 SetInitializedLength ← Elements#95, Constant#30 865 KeepAliveObject ← NewArrayObject#82 99 Goto → block 5 Block 5 100 Constant function complex4/< (-e:18) at 104289c63d28 Object 101 GuardShape ← NewArrayObject#82 Object 102 Constant function map (self-hosted:163) at 104289c47920 Object 103 Lambda ← FunctionEnvironment#50, Constant#100 Object 104 Goto → block 6 Block 6 105 Constant function ToObject at 104289c6c740 Object 106 Constant function ToLength at 104289c6c778 Object 107 Box ← Constant#105 Value 108 DebugCheckSelfHosted ← Box#107 Value 109 Box ← Constant#106 Value 110 DebugCheckSelfHosted ← Box#109 Value 111 GuardShape ← NewArrayObject#82 Object 112 Elements ← GuardShape#111 Elements 867 DebugEnterGCUnsafeRegion 113 ArrayLength ← Elements#112 I[0, 2147483647]: Int32 868 DebugLeaveGCUnsafeRegion 114 Goto → block 7 Block 7 115 Constant function IsCallable at 104289c6c7b0 Object 116 Box ← Constant#115 Value 117 DebugCheckSelfHosted ← Box#116 Value 118 AssertClass ← Lambda#103 119 Goto → block 8 Block 8 120 Goto → block 9 Block 9 121 Box ← Constant#3 Value 122 Goto → block 10 Block 10 123 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 124 Box ← Constant#123 Value 125 DebugCheckSelfHosted ← Box#124 Value 126 HasShape ← NewArrayObject#82 Bool 127 Test ← HasShape#126 → block 11, block 53 1 0 Block 11 128 Constant function std_Array at 104289c6c820 Object 129 Box ← Constant#128 Value 130 DebugCheckSelfHosted ← Box#129 Value 131 Unbox DebugCheckSelfHosted#130 to Object (fallible) Object 132 GuardSpecificFunction ← Unbox#131, Constant#128 Object 133 NewArrayDynamicLength ← ArrayLength#113 Object 134 Goto → block 12 Block 12 135 GuardShape ← NewArrayObject#82 Object 136 Constant 2 I[2, 2]: Double 137 GuardShape ← NewArrayDynamicLength#133 Object 138 Goto → block 13 Block 13 (loop header) 139 Phi ← Constant#15, Add#159 I[0 {}, 2147483647 {[loop] #113-1}]: Int32 140 InterruptCheck 141 Compare ← Phi#139, ArrayLength#113 Lt Bool 142 Test ← Compare#141 → block 14, block 19 1 0 Block 14 143 Elements ← GuardShape#135 Elements 873 DebugEnterGCUnsafeRegion 871 DebugEnterGCUnsafeRegion 144 InitializedLength ← Elements#143 I[0, 268435453]: Int32 874 DebugLeaveGCUnsafeRegion 145 BoundsCheck ← Phi#139, InitializedLength#144 I[0, 2147483646]: Int32 146 SpectreMaskIndex ← Phi#139, InitializedLength#144 I[0, 2147483646]: Int32 147 GuardElementNotHole ← Elements#143, SpectreMaskIndex#146 872 DebugLeaveGCUnsafeRegion 148 Goto → block 15 Block 15 149 GuardElementsArePacked ← Elements#143 870 KeepAliveObject ← GuardShape#135 150 LoadElement ← Elements#143, SpectreMaskIndex#146 Value 869 KeepAliveObject ← GuardShape#135 151 AssertClass ← Lambda#103 152 Goto → block 16 Block 16 153 Unbox LoadElement#150 to Double (fallible) Double 154 Mul ← Unbox#153, Constant#136 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 155 Goto → block 17 Block 17 156 Elements ← GuardShape#137 Elements 157 StoreElementHole ← GuardShape#137, Elements#156, Phi#139, Mul#154 158 Goto → block 18 Block 18 (backedge) 159 Add ← Phi#139, Constant#20 [int32] I[1, 2147483647]: Int32 160 Goto → block 13 Block 19 161 Constant function complex4/< (-e:18) at 104289c63d60 Object 162 GuardShape ← NewArrayDynamicLength#133 Object 163 Constant function filter (self-hosted:183) at 104289c47970 Object 164 Lambda ← FunctionEnvironment#50, Constant#161 Object 165 Goto → block 20 Block 20 166 DebugCheckSelfHosted ← Box#107 Value 167 DebugCheckSelfHosted ← Box#109 Value 168 GuardShape ← NewArrayDynamicLength#133 Object 169 Elements ← GuardShape#168 Elements 875 DebugEnterGCUnsafeRegion 170 ArrayLength ← Elements#169 I[0, 2147483647]: Int32 876 DebugLeaveGCUnsafeRegion 171 Goto → block 21 Block 21 172 DebugCheckSelfHosted ← Box#116 Value 173 AssertClass ← Lambda#164 174 Goto → block 22 Block 22 175 Goto → block 23 Block 23 176 Goto → block 24 Block 24 177 DebugCheckSelfHosted ← Box#124 Value 178 HasShape ← NewArrayDynamicLength#133 Bool 179 Test ← HasShape#178 → block 25, block 54 1 0 Block 25 180 NewArrayObject ← Constant#13 Object 181 Goto → block 26 Block 26 182 GuardShape ← NewArrayDynamicLength#133 Object 183 Constant 50 I[50, 50]: Double 184 GuardShape ← NewArrayObject#180 Object 185 Goto → block 27 Block 27 (loop header) 186 Phi ← Constant#15, Add#211 I[0 {}, 2147483647 {[loop] #170-1}]: Int32 187 Phi ← Constant#15, Phi#210 Int32 188 InterruptCheck 189 Compare ← Phi#186, ArrayLength#170 Lt Bool 190 Test ← Compare#189 → block 28, block 35 1 0 Block 28 191 Elements ← GuardShape#182 Elements 881 DebugEnterGCUnsafeRegion 879 DebugEnterGCUnsafeRegion 192 InitializedLength ← Elements#191 I[0, 268435453]: Int32 882 DebugLeaveGCUnsafeRegion 193 BoundsCheck ← Phi#186, InitializedLength#192 I[0, 2147483646]: Int32 194 SpectreMaskIndex ← Phi#186, InitializedLength#192 I[0, 2147483646]: Int32 195 GuardElementNotHole ← Elements#191, SpectreMaskIndex#194 880 DebugLeaveGCUnsafeRegion 196 Goto → block 29 Block 29 197 GuardElementsArePacked ← Elements#191 878 KeepAliveObject ← GuardShape#182 198 LoadElement ← Elements#191, SpectreMaskIndex#194 Value 877 KeepAliveObject ← GuardShape#182 199 AssertClass ← Lambda#164 200 Goto → block 30 Block 30 201 Unbox LoadElement#198 to Double (fallible) Double 202 Compare ← Unbox#201, Constant#183 Gt Bool 203 Goto → block 31 Block 31 204 Test ← Compare#202 → block 33, block 32 1 0 Block 32 (split edge) 205 Goto → block 34 Block 33 206 Add ← Phi#187, Constant#20 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 207 Elements ← GuardShape#184 Elements 208 StoreElementHole ← GuardShape#184, Elements#207, Phi#187, LoadElement#198 209 Goto → block 34 Block 34 (backedge) 210 Phi ← Add#206, Phi#187 Int32 211 Add ← Phi#186, Constant#20 [int32] I[1, 2147483647]: Int32 212 Goto → block 27 Block 35 213 Constant function complex4/< (-e:18) at 104289c63d98 Object 214 GuardShape ← NewArrayObject#180 Object 215 Constant function reduce (self-hosted:205) at 104289c479c0 Object 216 Lambda ← FunctionEnvironment#50, Constant#213 Object 217 Call ← Constant#215, NewArrayObject#180, Lambda#216, Constant#15 Value 218 Goto → block 36 Block 36 219 Constant shape at 104289c64fc0 Shape 220 NewPlainObject ← Constant#219 Object 221 GuardShape ← NewPlainObject#220 Object 222 PostWriteBarrier ← GuardShape#221, Call#66 223 StoreFixedSlot ← GuardShape#221, Call#66 (slot 0) 224 PostWriteBarrier ← GuardShape#221, BitOr#79 225 StoreFixedSlot ← GuardShape#221, BitOr#79 (slot 1) 226 PostWriteBarrier ← GuardShape#221, Call#81 227 StoreFixedSlot ← GuardShape#221, Call#81 (slot 2) 228 Goto → block 37 Block 37 229 Constant object 104289c3f078 (Call) Object 230 Constant function complex5/< (-e:22) at 104289c63e08 Object 231 NewCallObject ← Constant#229 Object 232 Box ← FunctionEnvironment#51 Value 233 AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#232 234 Box ← Constant#48 Value 235 AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#234 236 StoreFixedSlot ← NewCallObject#231, FunctionEnvironment#51 (slot 0) 237 StoreFixedSlot ← NewCallObject#231, Constant#48 (slot 1) 848 Box ← NewPlainObject#220 Value 849 AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#848 239 StoreFixedSlot ← NewCallObject#231, NewPlainObject#220 (slot 2) 240 AssertClass ← NewPlainObject#220 241 ObjectKeys ← NewPlainObject#220 Object 242 GuardShape ← ObjectKeys#241 Object 243 Lambda ← NewCallObject#231, Constant#230 Object 244 Goto → block 38 Block 38 245 DebugCheckSelfHosted ← Box#107 Value 246 DebugCheckSelfHosted ← Box#109 Value 247 GuardShape ← ObjectKeys#241 Object 248 Elements ← GuardShape#247 Elements 883 DebugEnterGCUnsafeRegion 249 ArrayLength ← Elements#248 I[0, 2147483647]: Int32 884 DebugLeaveGCUnsafeRegion 250 Goto → block 39 Block 39 251 DebugCheckSelfHosted ← Box#116 Value 252 AssertClass ← Lambda#243 253 Goto → block 40 Block 40 254 Goto → block 41 Block 41 255 Goto → block 42 Block 42 256 DebugCheckSelfHosted ← Box#124 Value 257 HasShape ← ObjectKeys#241 Bool 258 Test ← HasShape#257 → block 43, block 55 1 0 Block 43 259 DebugCheckSelfHosted ← Box#129 Value 260 Unbox DebugCheckSelfHosted#259 to Object (fallible) Object 261 GuardSpecificFunction ← Unbox#260, Constant#128 Object 262 NewArrayDynamicLength ← ArrayLength#249 Object 263 Goto → block 44 Block 44 264 GuardShape ← ObjectKeys#241 Object 850 LoadFixedSlotAndUnbox ← NewCallObject#231 (slot 2) Object 267 GuardShape ← NewArrayDynamicLength#262 Object 268 Goto → block 45 Block 45 (loop header) 269 Phi ← Constant#15, Add#288 I[0 {}, 2147483647 {[loop] #249-1}]: Int32 270 InterruptCheck 271 Compare ← Phi#269, ArrayLength#249 Lt Bool 272 Test ← Compare#271 → block 46, block 51 1 0 Block 46 273 Elements ← GuardShape#264 Elements 889 DebugEnterGCUnsafeRegion 887 DebugEnterGCUnsafeRegion 274 InitializedLength ← Elements#273 I[0, 268435453]: Int32 890 DebugLeaveGCUnsafeRegion 275 BoundsCheck ← Phi#269, InitializedLength#274 I[0, 2147483646]: Int32 276 SpectreMaskIndex ← Phi#269, InitializedLength#274 I[0, 2147483646]: Int32 277 GuardElementNotHole ← Elements#273, SpectreMaskIndex#276 888 DebugLeaveGCUnsafeRegion 278 Goto → block 47 Block 47 279 GuardElementsArePacked ← Elements#273 886 KeepAliveObject ← GuardShape#264 280 LoadElement ← Elements#273, SpectreMaskIndex#276 Value 885 KeepAliveObject ← GuardShape#264 281 AssertClass ← Lambda#243 282 Goto → block 48 Block 48 283 MegamorphicLoadSlotByValue ← LoadFixedSlotAndUnbox#850, LoadElement#280 Value 284 Goto → block 49 Block 49 285 Elements ← GuardShape#267 Elements 286 StoreElementHole ← GuardShape#267, Elements#285, Phi#269, MegamorphicLoadSlotByValue#283 287 Goto → block 50 Block 50 (backedge) 288 Add ← Phi#269, Constant#20 [int32] I[1, 2147483647]: Int32 289 Goto → block 45 Block 51 290 Constant function complex5/< (-e:22) at 104289c63e40 Object 291 GuardShape ← NewArrayDynamicLength#262 Object 292 Lambda ← NewCallObject#231, Constant#290 Object 293 Call ← Constant#215, NewArrayDynamicLength#262, Lambda#292, Constant#15 Value 294 Goto → block 52 Block 52 (backedge) 295 Add ← Phi#58, Constant#20 [int32] I[1, 10]: Int32 296 Box ← BitOr#79 Value 297 Goto → block 1 Block 53 298 CallGetIntrinsicValue Value 299 DebugCheckSelfHosted ← CallGetIntrinsicValue#298 Value 300 Bail 301 Unreachable Block 54 302 CallGetIntrinsicValue Value 303 DebugCheckSelfHosted ← CallGetIntrinsicValue#302 Value 304 Bail 305 Unreachable Block 55 306 CallGetIntrinsicValue Value 307 DebugCheckSelfHosted ← CallGetIntrinsicValue#306 Value 308 Bail 309 Unreachable Block 56 310 Unbox Phi#53 to Double (fallible) Double 311 Unbox Phi#54 to Double (fallible) Double 312 Add ← Unbox#310, Unbox#311 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 313 Unbox Phi#55 to Double (fallible) Double 314 Add ← Add#312, Unbox#313 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 315 Unbox Phi#56 to Double (fallible) Double 316 Add ← Add#314, Unbox#315 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 317 Unbox Phi#57 to Double (fallible) Double 318 Add ← Add#316, Unbox#317 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 319 Box ← Add#318 Value 320 Return ← Box#319
Block 0 0 Constant magic optimized-out MagicOptimizedOut 1 Parameter THIS_SLOT Value 2 Parameter 0 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Constant function complex1 (-e:2) at 104289c6c8c8 Object 8 Call ← Constant#7, Constant#3, Parameter#2 Value 9 Constant function complex2 (-e:7) at 104289c6c970 Object 10 Call ← Constant#9, Constant#3, Parameter#2 Value 11 Constant function complex3 (-e:11) at 104289c6c938 Object 12 Call ← Constant#11, Constant#3, Parameter#2, Call#8 Value 13 Constant shape at 104289c64f00 Shape 14 NewArrayObject ← Constant#13 Object 15 Constant 0x0 I[0, 0]: Int32 16 Elements ← NewArrayObject#14 Elements 17 PostWriteBarrier ← NewArrayObject#14, Call#8 18 StoreElement ← Elements#16, Constant#15, Call#8 852 KeepAliveObject ← NewArrayObject#14 19 SetInitializedLength ← Elements#16, Constant#15 851 KeepAliveObject ← NewArrayObject#14 20 Constant 0x1 I[1, 1]: Int32 21 Elements ← NewArrayObject#14 Elements 22 PostWriteBarrier ← NewArrayObject#14, Call#10 23 StoreElement ← Elements#21, Constant#20, Call#10 854 KeepAliveObject ← NewArrayObject#14 24 SetInitializedLength ← Elements#21, Constant#20 853 KeepAliveObject ← NewArrayObject#14 25 Constant 0x2 I[2, 2]: Int32 26 Elements ← NewArrayObject#14 Elements 27 PostWriteBarrier ← NewArrayObject#14, Call#12 28 StoreElement ← Elements#26, Constant#25, Call#12 856 KeepAliveObject ← NewArrayObject#14 29 SetInitializedLength ← Elements#26, Constant#25 855 KeepAliveObject ← NewArrayObject#14 30 Constant 0x3 I[3, 3]: Int32 31 Elements ← NewArrayObject#14 Elements 32 PostWriteBarrier ← NewArrayObject#14, Parameter#2 33 StoreElement ← Elements#31, Constant#30, Parameter#2 858 KeepAliveObject ← NewArrayObject#14 34 SetInitializedLength ← Elements#31, Constant#30 857 KeepAliveObject ← NewArrayObject#14 35 Constant function complex4 (-e:17) at 104289c6c890 Object 36 Call ← Constant#35, Constant#3, NewArrayObject#14 Value 37 Constant shape at 104289c64fa0 Shape 38 NewPlainObject ← Constant#37 Object 39 GuardShape ← NewPlainObject#38 Object 40 PostWriteBarrier ← GuardShape#39, Call#8 41 StoreFixedSlot ← GuardShape#39, Call#8 (slot 0) 42 PostWriteBarrier ← GuardShape#39, Call#10 43 StoreFixedSlot ← GuardShape#39, Call#10 (slot 1) 44 PostWriteBarrier ← GuardShape#39, Call#12 45 StoreFixedSlot ← GuardShape#39, Call#12 (slot 2) 46 PostWriteBarrier ← GuardShape#39, Call#36 47 StoreFixedSlot ← GuardShape#39, Call#36 (slot 3) 48 Constant function complex5 (-e:21) at 104289c6c900 Object 49 Call ← Constant#48, Constant#3, NewPlainObject#38 Value 50 FunctionEnvironment ← Constant#35 Object 51 FunctionEnvironment ← Constant#48 Object 52 Goto → block 1 Block 1 (loop header) 53 Phi ← Call#8, Call#66 Value 54 Phi ← Call#10, Box#296 Value 55 Phi ← Call#12, Call#81 Value 56 Phi ← Call#36, Call#217 Value 57 Phi ← Call#49, Call#293 Value 58 Phi ← Constant#15, Add#295 I[0 {}, 2147483647 {[loop] +9}]: Int32 59 InterruptCheck 60 Constant 0xa I[10, 10]: Int32 61 Compare ← Phi#58, Constant#60 Lt Bool 62 Test ← Compare#61 → block 2, block 56 1 0 Block 2 63 Unbox Phi#53 to Double (fallible) Double 64 ToDouble ← Phi#58 I[0, 9]: Double 65 Add ← Unbox#63, ToDouble#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 66 Call ← Constant#7, Constant#3, Add#65 Value 67 Unbox Phi#54 to Int32 (fallible) Int32 68 Add ← Unbox#67, Phi#58 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32 69 Goto → block 3 Block 3 70 Constant 0xff I[255, 255]: Int32 71 Lsh ← Add#68, Constant#20 I[-2147483648, 2147483647]: Int32 72 Rsh ← Add#68, Constant#20 I[-1073741824, 1073741823]: Int32 73 BitAnd ← Add#68, Constant#70 I[0, 255]: Int32 74 Ursh ← Add#68, Constant#25 I[0, 1073741823]: Int32 75 Add ← BitAnd#73, Ursh#74 [int32] I[0, 1073742078]: Int32 76 BitNot ← Add#68 I[-2147483648, 2147483647]: Int32 77 Sub ← Add#75, BitNot#76 [int32] I[-2147483648, 2147483647]: Int32 (t) 78 BitXor ← Rsh#72, Sub#77 I[-2147483648, 2147483647]: Int32 79 BitOr ← Lsh#71, BitXor#78 I[-2147483648, 2147483647]: Int32 80 Goto → block 4 Block 4 81 Call ← Constant#11, Constant#3, Phi#55, Call#66 Value 82 NewArrayObject ← Constant#13 Object 83 Elements ← NewArrayObject#82 Elements 84 PostWriteBarrier ← NewArrayObject#82, Call#66 85 StoreElement ← Elements#83, Constant#15, Call#66 860 KeepAliveObject ← NewArrayObject#82 86 SetInitializedLength ← Elements#83, Constant#15 859 KeepAliveObject ← NewArrayObject#82 87 Elements ← NewArrayObject#82 Elements 88 PostWriteBarrier ← NewArrayObject#82, BitOr#79 89 StoreElement ← Elements#87, Constant#20, BitOr#79 862 KeepAliveObject ← NewArrayObject#82 90 SetInitializedLength ← Elements#87, Constant#20 861 KeepAliveObject ← NewArrayObject#82 91 Elements ← NewArrayObject#82 Elements 92 PostWriteBarrier ← NewArrayObject#82, Call#81 93 StoreElement ← Elements#91, Constant#25, Call#81 864 KeepAliveObject ← NewArrayObject#82 94 SetInitializedLength ← Elements#91, Constant#25 863 KeepAliveObject ← NewArrayObject#82 95 Elements ← NewArrayObject#82 Elements 96 PostWriteBarrier ← NewArrayObject#82, Phi#58 97 StoreElement ← Elements#95, Constant#30, Phi#58 866 KeepAliveObject ← NewArrayObject#82 98 SetInitializedLength ← Elements#95, Constant#30 865 KeepAliveObject ← NewArrayObject#82 99 Goto → block 5 Block 5 100 Constant function complex4/< (-e:18) at 104289c63d28 Object 101 GuardShape ← NewArrayObject#82 Object 102 Constant function map (self-hosted:163) at 104289c47920 Object 103 Lambda ← FunctionEnvironment#50, Constant#100 Object 104 Goto → block 6 Block 6 105 Constant function ToObject at 104289c6c740 Object 106 Constant function ToLength at 104289c6c778 Object 107 Box ← Constant#105 Value 108 DebugCheckSelfHosted ← Box#107 Value 109 Box ← Constant#106 Value 110 DebugCheckSelfHosted ← Box#109 Value 111 GuardShape ← NewArrayObject#82 Object 112 Elements ← GuardShape#111 Elements 867 DebugEnterGCUnsafeRegion 113 ArrayLength ← Elements#112 I[0, 2147483647]: Int32 868 DebugLeaveGCUnsafeRegion 114 Goto → block 7 Block 7 115 Constant function IsCallable at 104289c6c7b0 Object 116 Box ← Constant#115 Value 117 DebugCheckSelfHosted ← Box#116 Value 118 AssertClass ← Lambda#103 119 Goto → block 8 Block 8 120 Goto → block 9 Block 9 121 Box ← Constant#3 Value 122 Goto → block 10 Block 10 123 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 124 Box ← Constant#123 Value 125 DebugCheckSelfHosted ← Box#124 Value 126 HasShape ← NewArrayObject#82 Bool 127 Test ← HasShape#126 → block 11, block 53 1 0 Block 11 128 Constant function std_Array at 104289c6c820 Object 129 Box ← Constant#128 Value 130 DebugCheckSelfHosted ← Box#129 Value 131 Unbox Box#129 to Object (fallible) Object 132 GuardSpecificFunction ← Unbox#131, Constant#128 Object 133 NewArrayDynamicLength ← ArrayLength#113 Object 134 Goto → block 12 Block 12 135 GuardShape ← NewArrayObject#82 Object 136 Constant 2 I[2, 2]: Double 137 GuardShape ← NewArrayDynamicLength#133 Object 138 Goto → block 13 Block 13 (loop header) 139 Phi ← Constant#15, Add#159 I[0 {}, 2147483647 {[loop] #113-1}]: Int32 140 InterruptCheck 141 Compare ← Phi#139, ArrayLength#113 Lt Bool 142 Test ← Compare#141 → block 14, block 19 1 0 Block 14 143 Elements ← GuardShape#135 Elements 873 DebugEnterGCUnsafeRegion 871 DebugEnterGCUnsafeRegion 144 InitializedLength ← Elements#143 I[0, 268435453]: Int32 874 DebugLeaveGCUnsafeRegion 145 BoundsCheck ← Phi#139, InitializedLength#144 I[0, 2147483646]: Int32 146 SpectreMaskIndex ← Phi#139, InitializedLength#144 I[0, 2147483646]: Int32 147 GuardElementNotHole ← Elements#143, SpectreMaskIndex#146 872 DebugLeaveGCUnsafeRegion 148 Goto → block 15 Block 15 149 GuardElementsArePacked ← Elements#143 870 KeepAliveObject ← GuardShape#135 150 LoadElement ← Elements#143, SpectreMaskIndex#146 Value 869 KeepAliveObject ← GuardShape#135 151 AssertClass ← Lambda#103 152 Goto → block 16 Block 16 153 Unbox LoadElement#150 to Double (fallible) Double 154 Mul ← Unbox#153, Constant#136 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 155 Goto → block 17 Block 17 156 Elements ← GuardShape#137 Elements 157 StoreElementHole ← GuardShape#137, Elements#156, Phi#139, Mul#154 158 Goto → block 18 Block 18 (backedge) 159 Add ← Phi#139, Constant#20 [int32] I[1, 2147483647]: Int32 160 Goto → block 13 Block 19 161 Constant function complex4/< (-e:18) at 104289c63d60 Object 162 GuardShape ← NewArrayDynamicLength#133 Object 163 Constant function filter (self-hosted:183) at 104289c47970 Object 164 Lambda ← FunctionEnvironment#50, Constant#161 Object 165 Goto → block 20 Block 20 166 DebugCheckSelfHosted ← Box#107 Value 167 DebugCheckSelfHosted ← Box#109 Value 168 GuardShape ← NewArrayDynamicLength#133 Object 169 Elements ← GuardShape#168 Elements 875 DebugEnterGCUnsafeRegion 170 ArrayLength ← Elements#169 I[0, 2147483647]: Int32 876 DebugLeaveGCUnsafeRegion 171 Goto → block 21 Block 21 172 DebugCheckSelfHosted ← Box#116 Value 173 AssertClass ← Lambda#164 174 Goto → block 22 Block 22 175 Goto → block 23 Block 23 176 Goto → block 24 Block 24 177 DebugCheckSelfHosted ← Box#124 Value 178 HasShape ← NewArrayDynamicLength#133 Bool 179 Test ← HasShape#178 → block 25, block 54 1 0 Block 25 180 NewArrayObject ← Constant#13 Object 181 Goto → block 26 Block 26 182 GuardShape ← NewArrayDynamicLength#133 Object 183 Constant 50 I[50, 50]: Double 184 GuardShape ← NewArrayObject#180 Object 185 Goto → block 27 Block 27 (loop header) 186 Phi ← Constant#15, Add#211 I[0 {}, 2147483647 {[loop] #170-1}]: Int32 187 Phi ← Constant#15, Phi#210 Int32 188 InterruptCheck 189 Compare ← Phi#186, ArrayLength#170 Lt Bool 190 Test ← Compare#189 → block 28, block 35 1 0 Block 28 191 Elements ← GuardShape#182 Elements 881 DebugEnterGCUnsafeRegion 879 DebugEnterGCUnsafeRegion 192 InitializedLength ← Elements#191 I[0, 268435453]: Int32 882 DebugLeaveGCUnsafeRegion 193 BoundsCheck ← Phi#186, InitializedLength#192 I[0, 2147483646]: Int32 194 SpectreMaskIndex ← Phi#186, InitializedLength#192 I[0, 2147483646]: Int32 195 GuardElementNotHole ← Elements#191, SpectreMaskIndex#194 880 DebugLeaveGCUnsafeRegion 196 Goto → block 29 Block 29 197 GuardElementsArePacked ← Elements#191 878 KeepAliveObject ← GuardShape#182 198 LoadElement ← Elements#191, SpectreMaskIndex#194 Value 877 KeepAliveObject ← GuardShape#182 199 AssertClass ← Lambda#164 200 Goto → block 30 Block 30 201 Unbox LoadElement#198 to Double (fallible) Double 202 Compare ← Unbox#201, Constant#183 Gt Bool 203 Goto → block 31 Block 31 204 Test ← Compare#202 → block 33, block 32 1 0 Block 32 (split edge) 205 Goto → block 34 Block 33 206 Add ← Phi#187, Constant#20 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 207 Elements ← GuardShape#184 Elements 208 StoreElementHole ← GuardShape#184, Elements#207, Phi#187, LoadElement#198 209 Goto → block 34 Block 34 (backedge) 210 Phi ← Add#206, Phi#187 Int32 211 Add ← Phi#186, Constant#20 [int32] I[1, 2147483647]: Int32 212 Goto → block 27 Block 35 213 Constant function complex4/< (-e:18) at 104289c63d98 Object 214 GuardShape ← NewArrayObject#180 Object 215 Constant function reduce (self-hosted:205) at 104289c479c0 Object 216 Lambda ← FunctionEnvironment#50, Constant#213 Object 217 Call ← Constant#215, NewArrayObject#180, Lambda#216, Constant#15 Value 218 Goto → block 36 Block 36 219 Constant shape at 104289c64fc0 Shape 220 NewPlainObject ← Constant#219 Object 221 GuardShape ← NewPlainObject#220 Object 222 PostWriteBarrier ← GuardShape#221, Call#66 223 StoreFixedSlot ← GuardShape#221, Call#66 (slot 0) 224 PostWriteBarrier ← GuardShape#221, BitOr#79 225 StoreFixedSlot ← GuardShape#221, BitOr#79 (slot 1) 226 PostWriteBarrier ← GuardShape#221, Call#81 227 StoreFixedSlot ← GuardShape#221, Call#81 (slot 2) 228 Goto → block 37 Block 37 229 Constant object 104289c3f078 (Call) Object 230 Constant function complex5/< (-e:22) at 104289c63e08 Object 231 NewCallObject ← Constant#229 Object 232 Box ← FunctionEnvironment#51 Value 233 AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#232 234 Box ← Constant#48 Value 235 AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#234 236 StoreFixedSlot ← NewCallObject#231, FunctionEnvironment#51 (slot 0) 237 StoreFixedSlot ← NewCallObject#231, Constant#48 (slot 1) 848 Box ← NewPlainObject#220 Value 849 AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#848 239 StoreFixedSlot ← NewCallObject#231, NewPlainObject#220 (slot 2) 240 AssertClass ← NewPlainObject#220 241 ObjectKeys ← NewPlainObject#220 Object 242 GuardShape ← ObjectKeys#241 Object 243 Lambda ← NewCallObject#231, Constant#230 Object 244 Goto → block 38 Block 38 245 DebugCheckSelfHosted ← Box#107 Value 246 DebugCheckSelfHosted ← Box#109 Value 247 GuardShape ← ObjectKeys#241 Object 248 Elements ← GuardShape#247 Elements 883 DebugEnterGCUnsafeRegion 249 ArrayLength ← Elements#248 I[0, 2147483647]: Int32 884 DebugLeaveGCUnsafeRegion 250 Goto → block 39 Block 39 251 DebugCheckSelfHosted ← Box#116 Value 252 AssertClass ← Lambda#243 253 Goto → block 40 Block 40 254 Goto → block 41 Block 41 255 Goto → block 42 Block 42 256 DebugCheckSelfHosted ← Box#124 Value 257 HasShape ← ObjectKeys#241 Bool 258 Test ← HasShape#257 → block 43, block 55 1 0 Block 43 259 DebugCheckSelfHosted ← Box#129 Value 260 Unbox Box#129 to Object (fallible) Object 261 GuardSpecificFunction ← Unbox#260, Constant#128 Object 262 NewArrayDynamicLength ← ArrayLength#249 Object 263 Goto → block 44 Block 44 264 GuardShape ← ObjectKeys#241 Object 850 LoadFixedSlotAndUnbox ← NewCallObject#231 (slot 2) Object 267 GuardShape ← NewArrayDynamicLength#262 Object 268 Goto → block 45 Block 45 (loop header) 269 Phi ← Constant#15, Add#288 I[0 {}, 2147483647 {[loop] #249-1}]: Int32 270 InterruptCheck 271 Compare ← Phi#269, ArrayLength#249 Lt Bool 272 Test ← Compare#271 → block 46, block 51 1 0 Block 46 273 Elements ← GuardShape#264 Elements 889 DebugEnterGCUnsafeRegion 887 DebugEnterGCUnsafeRegion 274 InitializedLength ← Elements#273 I[0, 268435453]: Int32 890 DebugLeaveGCUnsafeRegion 275 BoundsCheck ← Phi#269, InitializedLength#274 I[0, 2147483646]: Int32 276 SpectreMaskIndex ← Phi#269, InitializedLength#274 I[0, 2147483646]: Int32 277 GuardElementNotHole ← Elements#273, SpectreMaskIndex#276 888 DebugLeaveGCUnsafeRegion 278 Goto → block 47 Block 47 279 GuardElementsArePacked ← Elements#273 886 KeepAliveObject ← GuardShape#264 280 LoadElement ← Elements#273, SpectreMaskIndex#276 Value 885 KeepAliveObject ← GuardShape#264 281 AssertClass ← Lambda#243 282 Goto → block 48 Block 48 283 MegamorphicLoadSlotByValue ← LoadFixedSlotAndUnbox#850, LoadElement#280 Value 284 Goto → block 49 Block 49 285 Elements ← GuardShape#267 Elements 286 StoreElementHole ← GuardShape#267, Elements#285, Phi#269, MegamorphicLoadSlotByValue#283 287 Goto → block 50 Block 50 (backedge) 288 Add ← Phi#269, Constant#20 [int32] I[1, 2147483647]: Int32 289 Goto → block 45 Block 51 290 Constant function complex5/< (-e:22) at 104289c63e40 Object 291 GuardShape ← NewArrayDynamicLength#262 Object 292 Lambda ← NewCallObject#231, Constant#290 Object 293 Call ← Constant#215, NewArrayDynamicLength#262, Lambda#292, Constant#15 Value 294 Goto → block 52 Block 52 (backedge) 295 Add ← Phi#58, Constant#20 [int32] I[1, 10]: Int32 296 Box ← BitOr#79 Value 297 Goto → block 1 Block 53 298 CallGetIntrinsicValue Value 299 DebugCheckSelfHosted ← CallGetIntrinsicValue#298 Value 300 Bail 301 Unreachable Block 54 302 CallGetIntrinsicValue Value 303 DebugCheckSelfHosted ← CallGetIntrinsicValue#302 Value 304 Bail 305 Unreachable Block 55 306 CallGetIntrinsicValue Value 307 DebugCheckSelfHosted ← CallGetIntrinsicValue#306 Value 308 Bail 309 Unreachable Block 56 310 Unbox Phi#53 to Double (fallible) Double 311 Unbox Phi#54 to Double (fallible) Double 312 Add ← Unbox#310, Unbox#311 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 313 Unbox Phi#55 to Double (fallible) Double 314 Add ← Add#312, Unbox#313 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 315 Unbox Phi#56 to Double (fallible) Double 316 Add ← Add#314, Unbox#315 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 317 Unbox Phi#57 to Double (fallible) Double 318 Add ← Add#316, Unbox#317 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 319 Box ← Add#318 Value 320 Return ← Box#319
Block 0 0 Constant magic optimized-out MagicOptimizedOut 1 Parameter THIS_SLOT Value 2 Parameter 0 Value 3 Constant undefined Undefined 4 Start 5 CheckOverRecursed 6 Constant magic uninitialized-lexical MagicUninitializedLexical 7 Constant function complex1 (-e:2) at 104289c6c8c8 Object 8 Call ← Constant#7, Constant#3, Parameter#2 Value 9 Constant function complex2 (-e:7) at 104289c6c970 Object 10 Call ← Constant#9, Constant#3, Parameter#2 Value 11 Constant function complex3 (-e:11) at 104289c6c938 Object 12 Call ← Constant#11, Constant#3, Parameter#2, Call#8 Value 13 Constant shape at 104289c64f00 Shape 14 NewArrayObject ← Constant#13 Object 15 Constant 0x0 I[0, 0]: Int32 16 Elements ← NewArrayObject#14 Elements 17 PostWriteBarrier ← NewArrayObject#14, Call#8 18 StoreElement ← Elements#16, Constant#15, Call#8 852 KeepAliveObject ← NewArrayObject#14 19 SetInitializedLength ← Elements#16, Constant#15 851 KeepAliveObject ← NewArrayObject#14 20 Constant 0x1 I[1, 1]: Int32 21 Elements ← NewArrayObject#14 Elements 22 PostWriteBarrier ← NewArrayObject#14, Call#10 23 StoreElement ← Elements#21, Constant#20, Call#10 854 KeepAliveObject ← NewArrayObject#14 24 SetInitializedLength ← Elements#21, Constant#20 853 KeepAliveObject ← NewArrayObject#14 25 Constant 0x2 I[2, 2]: Int32 26 Elements ← NewArrayObject#14 Elements 27 PostWriteBarrier ← NewArrayObject#14, Call#12 28 StoreElement ← Elements#26, Constant#25, Call#12 856 KeepAliveObject ← NewArrayObject#14 29 SetInitializedLength ← Elements#26, Constant#25 855 KeepAliveObject ← NewArrayObject#14 30 Constant 0x3 I[3, 3]: Int32 31 Elements ← NewArrayObject#14 Elements 32 PostWriteBarrier ← NewArrayObject#14, Parameter#2 33 StoreElement ← Elements#31, Constant#30, Parameter#2 858 KeepAliveObject ← NewArrayObject#14 34 SetInitializedLength ← Elements#31, Constant#30 857 KeepAliveObject ← NewArrayObject#14 35 Constant function complex4 (-e:17) at 104289c6c890 Object 36 Call ← Constant#35, Constant#3, NewArrayObject#14 Value 37 Constant shape at 104289c64fa0 Shape 38 NewPlainObject ← Constant#37 Object 39 GuardShape ← NewPlainObject#38 Object 40 PostWriteBarrier ← GuardShape#39, Call#8 41 StoreFixedSlot ← GuardShape#39, Call#8 (slot 0) 42 PostWriteBarrier ← GuardShape#39, Call#10 43 StoreFixedSlot ← GuardShape#39, Call#10 (slot 1) 44 PostWriteBarrier ← GuardShape#39, Call#12 45 StoreFixedSlot ← GuardShape#39, Call#12 (slot 2) 46 PostWriteBarrier ← GuardShape#39, Call#36 47 StoreFixedSlot ← GuardShape#39, Call#36 (slot 3) 48 Constant function complex5 (-e:21) at 104289c6c900 Object 49 Call ← Constant#48, Constant#3, NewPlainObject#38 Value 50 FunctionEnvironment ← Constant#35 Object 51 FunctionEnvironment ← Constant#48 Object 52 Goto → block 1 Block 1 (loop header) 53 Phi ← Call#8, Call#66 Value 54 Phi ← Call#10, Box#296 Value 55 Phi ← Call#12, Call#81 Value 56 Phi ← Call#36, Call#217 Value 57 Phi ← Call#49, Call#293 Value 58 Phi ← Constant#15, Add#295 I[0 {}, 2147483647 {[loop] +9}]: Int32 59 InterruptCheck 60 Constant 0xa I[10, 10]: Int32 61 Compare ← Phi#58, Constant#60 Lt Bool 62 Test ← Compare#61 → block 2, block 56 1 0 Block 2 63 Unbox Phi#53 to Double (fallible) Double 64 ToDouble ← Phi#58 I[0, 9]: Double 65 Add ← Unbox#63, ToDouble#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double 66 Call ← Constant#7, Constant#3, Add#65 Value 67 Unbox Phi#54 to Int32 (fallible) Int32 68 Add ← Unbox#67, Phi#58 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32 69 Goto → block 3 Block 3 70 Constant 0xff I[255, 255]: Int32 71 Lsh ← Add#68, Constant#20 I[-2147483648, 2147483647]: Int32 72 Rsh ← Add#68, Constant#20 I[-1073741824, 1073741823]: Int32 73 BitAnd ← Add#68, Constant#70 I[0, 255]: Int32 74 Ursh ← Add#68, Constant#25 I[0, 1073741823]: Int32 75 Add ← BitAnd#73, Ursh#74 [int32] I[0, 1073742078]: Int32 76 BitNot ← Add#68 I[-2147483648, 2147483647]: Int32 77 Sub ← Add#75, BitNot#76 [int32] I[-2147483648, 2147483647]: Int32 (t) 78 BitXor ← Rsh#72, Sub#77 I[-2147483648, 2147483647]: Int32 79 BitOr ← Lsh#71, BitXor#78 I[-2147483648, 2147483647]: Int32 80 Goto → block 4 Block 4 81 Call ← Constant#11, Constant#3, Phi#55, Call#66 Value 82 NewArrayObject ← Constant#13 Object 83 Elements ← NewArrayObject#82 Elements 84 PostWriteBarrier ← NewArrayObject#82, Call#66 85 StoreElement ← Elements#83, Constant#15, Call#66 860 KeepAliveObject ← NewArrayObject#82 86 SetInitializedLength ← Elements#83, Constant#15 859 KeepAliveObject ← NewArrayObject#82 87 Elements ← NewArrayObject#82 Elements 88 PostWriteBarrier ← NewArrayObject#82, BitOr#79 89 StoreElement ← Elements#87, Constant#20, BitOr#79 862 KeepAliveObject ← NewArrayObject#82 90 SetInitializedLength ← Elements#87, Constant#20 861 KeepAliveObject ← NewArrayObject#82 91 Elements ← NewArrayObject#82 Elements 92 PostWriteBarrier ← NewArrayObject#82, Call#81 93 StoreElement ← Elements#91, Constant#25, Call#81 864 KeepAliveObject ← NewArrayObject#82 94 SetInitializedLength ← Elements#91, Constant#25 863 KeepAliveObject ← NewArrayObject#82 95 Elements ← NewArrayObject#82 Elements 96 PostWriteBarrier ← NewArrayObject#82, Phi#58 97 StoreElement ← Elements#95, Constant#30, Phi#58 866 KeepAliveObject ← NewArrayObject#82 98 SetInitializedLength ← Elements#95, Constant#30 865 KeepAliveObject ← NewArrayObject#82 99 Goto → block 5 Block 5 100 Constant function complex4/< (-e:18) at 104289c63d28 Object 101 GuardShape ← NewArrayObject#82 Object 102 Constant function map (self-hosted:163) at 104289c47920 Object 103 Lambda ← FunctionEnvironment#50, Constant#100 Object 104 Goto → block 6 Block 6 105 Constant function ToObject at 104289c6c740 Object 106 Constant function ToLength at 104289c6c778 Object 107 Box ← Constant#105 Value 108 DebugCheckSelfHosted ← Box#107 Value 109 Box ← Constant#106 Value 110 DebugCheckSelfHosted ← Box#109 Value 111 GuardShape ← NewArrayObject#82 Object 112 Elements ← GuardShape#111 Elements 867 DebugEnterGCUnsafeRegion 113 ArrayLength ← Elements#112 I[0, 2147483647]: Int32 868 DebugLeaveGCUnsafeRegion 114 Goto → block 7 Block 7 115 Constant function IsCallable at 104289c6c7b0 Object 116 Box ← Constant#115 Value 117 DebugCheckSelfHosted ← Box#116 Value 118 AssertClass ← Lambda#103 119 Goto → block 8 Block 8 120 Goto → block 9 Block 9 121 Box ← Constant#3 Value 122 Goto → block 10 Block 10 123 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object 124 Box ← Constant#123 Value 125 DebugCheckSelfHosted ← Box#124 Value 126 HasShape ← NewArrayObject#82 Bool 127 Test ← HasShape#126 → block 11, block 53 1 0 Block 11 128 Constant function std_Array at 104289c6c820 Object 129 Box ← Constant#128 Value 130 DebugCheckSelfHosted ← Box#129 Value 131 Unbox Box#129 to Object (fallible) Object 132 GuardSpecificFunction ← Unbox#131, Constant#128 Object 133 NewArrayDynamicLength ← ArrayLength#113 Object 134 Goto → block 12 Block 12 135 GuardShape ← NewArrayObject#82 Object 136 Constant 2 I[2, 2]: Double 137 GuardShape ← NewArrayDynamicLength#133 Object 138 Goto → block 13 Block 13 (loop header) 139 Phi ← Constant#15, Add#159 I[0 {}, 2147483647 {[loop] #113-1}]: Int32 140 InterruptCheck 141 Compare ← Phi#139, ArrayLength#113 Lt Bool 142 Test ← Compare#141 → block 14, block 19 1 0 Block 14 143 Elements ← GuardShape#135 Elements 873 DebugEnterGCUnsafeRegion 871 DebugEnterGCUnsafeRegion 144 InitializedLength ← Elements#143 I[0, 268435453]: Int32 874 DebugLeaveGCUnsafeRegion 145 BoundsCheck ← Phi#139, InitializedLength#144 I[0, 2147483646]: Int32 146 SpectreMaskIndex ← Phi#139, InitializedLength#144 I[0, 2147483646]: Int32 147 GuardElementNotHole ← Elements#143, SpectreMaskIndex#146 872 DebugLeaveGCUnsafeRegion 148 Goto → block 15 Block 15 149 GuardElementsArePacked ← Elements#143 870 KeepAliveObject ← GuardShape#135 150 LoadElement ← Elements#143, SpectreMaskIndex#146 Value 869 KeepAliveObject ← GuardShape#135 151 AssertClass ← Lambda#103 152 Goto → block 16 Block 16 153 Unbox LoadElement#150 to Double (fallible) Double 154 Mul ← Unbox#153, Constant#136 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 155 Goto → block 17 Block 17 156 Elements ← GuardShape#137 Elements 157 StoreElementHole ← GuardShape#137, Elements#156, Phi#139, Mul#154 158 Goto → block 18 Block 18 (backedge) 159 Add ← Phi#139, Constant#20 [int32] I[1, 2147483647]: Int32 160 Goto → block 13 Block 19 161 Constant function complex4/< (-e:18) at 104289c63d60 Object 162 GuardShape ← NewArrayDynamicLength#133 Object 163 Constant function filter (self-hosted:183) at 104289c47970 Object 164 Lambda ← FunctionEnvironment#50, Constant#161 Object 165 Goto → block 20 Block 20 166 DebugCheckSelfHosted ← Box#107 Value 167 DebugCheckSelfHosted ← Box#109 Value 168 GuardShape ← NewArrayDynamicLength#133 Object 169 Elements ← GuardShape#168 Elements 875 DebugEnterGCUnsafeRegion 170 ArrayLength ← Elements#169 I[0, 2147483647]: Int32 876 DebugLeaveGCUnsafeRegion 171 Goto → block 21 Block 21 172 DebugCheckSelfHosted ← Box#116 Value 173 AssertClass ← Lambda#164 174 Goto → block 22 Block 22 175 Goto → block 23 Block 23 176 Goto → block 24 Block 24 177 DebugCheckSelfHosted ← Box#124 Value 178 HasShape ← NewArrayDynamicLength#133 Bool 179 Test ← HasShape#178 → block 25, block 54 1 0 Block 25 180 NewArrayObject ← Constant#13 Object 181 Goto → block 26 Block 26 182 GuardShape ← NewArrayDynamicLength#133 Object 183 Constant 50 I[50, 50]: Double 184 GuardShape ← NewArrayObject#180 Object 185 Goto → block 27 Block 27 (loop header) 186 Phi ← Constant#15, Add#211 I[0 {}, 2147483647 {[loop] #170-1}]: Int32 187 Phi ← Constant#15, Phi#210 Int32 188 InterruptCheck 189 Compare ← Phi#186, ArrayLength#170 Lt Bool 190 Test ← Compare#189 → block 28, block 35 1 0 Block 28 191 Elements ← GuardShape#182 Elements 881 DebugEnterGCUnsafeRegion 879 DebugEnterGCUnsafeRegion 192 InitializedLength ← Elements#191 I[0, 268435453]: Int32 882 DebugLeaveGCUnsafeRegion 193 BoundsCheck ← Phi#186, InitializedLength#192 I[0, 2147483646]: Int32 194 SpectreMaskIndex ← Phi#186, InitializedLength#192 I[0, 2147483646]: Int32 195 GuardElementNotHole ← Elements#191, SpectreMaskIndex#194 880 DebugLeaveGCUnsafeRegion 196 Goto → block 29 Block 29 197 GuardElementsArePacked ← Elements#191 878 KeepAliveObject ← GuardShape#182 198 LoadElement ← Elements#191, SpectreMaskIndex#194 Value 877 KeepAliveObject ← GuardShape#182 199 AssertClass ← Lambda#164 200 Goto → block 30 Block 30 201 Unbox LoadElement#198 to Double (fallible) Double 202 Compare ← Unbox#201, Constant#183 Gt Bool 203 Goto → block 31 Block 31 204 Test ← Compare#202 → block 33, block 32 1 0 Block 32 (split edge) 205 Goto → block 34 Block 33 206 Add ← Phi#187, Constant#20 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32 207 Elements ← GuardShape#184 Elements 208 StoreElementHole ← GuardShape#184, Elements#207, Phi#187, LoadElement#198 209 Goto → block 34 Block 34 (backedge) 210 Phi ← Add#206, Phi#187 Int32 211 Add ← Phi#186, Constant#20 [int32] I[1, 2147483647]: Int32 212 Goto → block 27 Block 35 213 Constant function complex4/< (-e:18) at 104289c63d98 Object 214 GuardShape ← NewArrayObject#180 Object 215 Constant function reduce (self-hosted:205) at 104289c479c0 Object 216 Lambda ← FunctionEnvironment#50, Constant#213 Object 217 Call ← Constant#215, NewArrayObject#180, Lambda#216, Constant#15 Value 218 Goto → block 36 Block 36 219 Constant shape at 104289c64fc0 Shape 220 NewPlainObject ← Constant#219 Object 221 GuardShape ← NewPlainObject#220 Object 222 PostWriteBarrier ← GuardShape#221, Call#66 223 StoreFixedSlot ← GuardShape#221, Call#66 (slot 0) 224 PostWriteBarrier ← GuardShape#221, BitOr#79 225 StoreFixedSlot ← GuardShape#221, BitOr#79 (slot 1) 226 PostWriteBarrier ← GuardShape#221, Call#81 227 StoreFixedSlot ← GuardShape#221, Call#81 (slot 2) 228 Goto → block 37 Block 37 229 Constant object 104289c3f078 (Call) Object 230 Constant function complex5/< (-e:22) at 104289c63e08 Object 231 NewCallObject ← Constant#229 Object 232 Box ← FunctionEnvironment#51 Value 233 AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#232 234 Box ← Constant#48 Value 235 AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#234 236 StoreFixedSlot ← NewCallObject#231, FunctionEnvironment#51 (slot 0) 237 StoreFixedSlot ← NewCallObject#231, Constant#48 (slot 1) 848 Box ← NewPlainObject#220 Value 849 AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#848 239 StoreFixedSlot ← NewCallObject#231, NewPlainObject#220 (slot 2) 240 AssertClass ← NewPlainObject#220 241 ObjectKeys ← NewPlainObject#220 Object 242 GuardShape ← ObjectKeys#241 Object 243 Lambda ← NewCallObject#231, Constant#230 Object 244 Goto → block 38 Block 38 245 DebugCheckSelfHosted ← Box#107 Value 246 DebugCheckSelfHosted ← Box#109 Value 247 GuardShape ← ObjectKeys#241 Object 248 Elements ← GuardShape#247 Elements 883 DebugEnterGCUnsafeRegion 249 ArrayLength ← Elements#248 I[0, 2147483647]: Int32 884 DebugLeaveGCUnsafeRegion 250 Goto → block 39 Block 39 251 DebugCheckSelfHosted ← Box#116 Value 252 AssertClass ← Lambda#243 253 Goto → block 40 Block 40 254 Goto → block 41 Block 41 255 Goto → block 42 Block 42 256 DebugCheckSelfHosted ← Box#124 Value 257 HasShape ← ObjectKeys#241 Bool 258 Test ← HasShape#257 → block 43, block 55 1 0 Block 43 259 DebugCheckSelfHosted ← Box#129 Value 260 Unbox Box#129 to Object (fallible) Object 261 GuardSpecificFunction ← Unbox#260, Constant#128 Object 262 NewArrayDynamicLength ← ArrayLength#249 Object 263 Goto → block 44 Block 44 264 GuardShape ← ObjectKeys#241 Object 850 LoadFixedSlotAndUnbox ← NewCallObject#231 (slot 2) Object 267 GuardShape ← NewArrayDynamicLength#262 Object 268 Goto → block 45 Block 45 (loop header) 269 Phi ← Constant#15, Add#288 I[0 {}, 2147483647 {[loop] #249-1}]: Int32 270 InterruptCheck 271 Compare ← Phi#269, ArrayLength#249 Lt Bool 272 Test ← Compare#271 → block 46, block 51 1 0 Block 46 273 Elements ← GuardShape#264 Elements 889 DebugEnterGCUnsafeRegion 887 DebugEnterGCUnsafeRegion 274 InitializedLength ← Elements#273 I[0, 268435453]: Int32 890 DebugLeaveGCUnsafeRegion 275 BoundsCheck ← Phi#269, InitializedLength#274 I[0, 2147483646]: Int32 276 SpectreMaskIndex ← Phi#269, InitializedLength#274 I[0, 2147483646]: Int32 277 GuardElementNotHole ← Elements#273, SpectreMaskIndex#276 888 DebugLeaveGCUnsafeRegion 278 Goto → block 47 Block 47 279 GuardElementsArePacked ← Elements#273 886 KeepAliveObject ← GuardShape#264 280 LoadElement ← Elements#273, SpectreMaskIndex#276 Value 885 KeepAliveObject ← GuardShape#264 281 AssertClass ← Lambda#243 282 Goto → block 48 Block 48 283 MegamorphicLoadSlotByValue ← LoadFixedSlotAndUnbox#850, LoadElement#280 Value 284 Goto → block 49 Block 49 285 Elements ← GuardShape#267 Elements 286 StoreElementHole ← GuardShape#267, Elements#285, Phi#269, MegamorphicLoadSlotByValue#283 287 Goto → block 50 Block 50 (backedge) 288 Add ← Phi#269, Constant#20 [int32] I[1, 2147483647]: Int32 289 Goto → block 45 Block 51 290 Constant function complex5/< (-e:22) at 104289c63e40 Object 291 GuardShape ← NewArrayDynamicLength#262 Object 292 Lambda ← NewCallObject#231, Constant#290 Object 293 Call ← Constant#215, NewArrayDynamicLength#262, Lambda#292, Constant#15 Value 294 Goto → block 52 Block 52 (backedge) 295 Add ← Phi#58, Constant#20 [int32] I[1, 10]: Int32 296 Box ← BitOr#79 Value 297 Goto → block 1 Block 53 298 CallGetIntrinsicValue Value 299 DebugCheckSelfHosted ← CallGetIntrinsicValue#298 Value 300 Bail 301 Unreachable Block 54 302 CallGetIntrinsicValue Value 303 DebugCheckSelfHosted ← CallGetIntrinsicValue#302 Value 304 Bail 305 Unreachable Block 55 306 CallGetIntrinsicValue Value 307 DebugCheckSelfHosted ← CallGetIntrinsicValue#306 Value 308 Bail 309 Unreachable Block 56 310 Unbox Phi#53 to Double (fallible) Double 311 Unbox Phi#54 to Double (fallible) Double 312 Add ← Unbox#310, Unbox#311 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 313 Unbox Phi#55 to Double (fallible) Double 314 Add ← Add#312, Unbox#313 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 315 Unbox Phi#56 to Double (fallible) Double 316 Add ← Add#314, Unbox#315 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 317 Unbox Phi#57 to Double (fallible) Double 318 Add ← Add#316, Unbox#317 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double 319 Box ← Add#318 Value 320 Return ← Box#319
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 5 Constant magic uninitialized-lexical MagicUninitializedLexical 6 Constant 0x0 Int32 12 Goto → block 2 Block 1 7 OsrEntry Pointer 8 OsrEnvironmentChain ← OsrEntry#7 Object 9 OsrReturnValue ← OsrEntry#7 Value 10 OsrValue ← OsrEntry#7 Value 11 Start 13 Goto → block 2 Block 2 14 Phi ← Constant#3, OsrEnvironmentChain#8 Object 15 Phi ← Constant#0, OsrReturnValue#9 Value 16 Phi ← Constant#6, OsrValue#10 Value 20 Goto → block 3 Block 3 (loop header) 17 Phi ← Phi#14, Phi#14 Value 18 Phi ← Phi#15, Call#33 Value 19 Phi ← Phi#16, Add#36 Value 21 InterruptCheck 22 Constant 0x2710 Int32 23 Unbox Phi#19 to Int32 (fallible) Int32 24 Compare ← Unbox#23, Constant#22 Lt Bool 25 Test ← Compare#24 → block 4, block 5 1 0 Block 4 (backedge) 26 Constant object 104289c3f040 (LexicalEnvironment) Object 27 Constant object 104289c3e030 (global) Object 28 Constant function megaComplex (-e:25) at 104289c6c858 Object 29 Constant undefined Undefined 30 Constant 0x1 Int32 31 Constant function megaComplex (-e:25) at 104289c6c858 Object 32 GuardSpecificFunction ← Constant#28, Constant#31 Object 33 Call ← GuardSpecificFunction#32, Constant#29, Phi#19 Value 34 Unbox Phi#19 to Int32 (fallible) Int32 35 Constant 0x1 Int32 36 Add ← Unbox#34, Constant#35 [int32] Int32 37 Goto → block 3 Block 5 38 Return ← Phi#18
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 5 Constant magic uninitialized-lexical MagicUninitializedLexical 6 Constant 0x0 Int32 12 Goto → block 2 Block 1 7 OsrEntry Pointer 8 OsrEnvironmentChain ← OsrEntry#7 Object 9 OsrReturnValue ← OsrEntry#7 Value 10 OsrValue ← OsrEntry#7 Value 11 Start 13 Goto → block 2 Block 2 14 Phi ← Constant#3, OsrEnvironmentChain#8 Object 15 Phi ← Constant#0, OsrReturnValue#9 Value 16 Phi ← Constant#6, OsrValue#10 Value 20 Goto → block 3 Block 3 (loop header) 17 Phi ← Phi#14, Phi#14 Value 18 Phi ← Phi#15, Call#33 Value 19 Phi ← Phi#16, Add#36 Value 21 InterruptCheck 22 Constant 0x2710 Int32 23 Unbox Phi#19 to Int32 (fallible) Int32 24 Compare ← Unbox#23, Constant#22 Lt Bool 25 Test ← Compare#24 → block 4, block 5 1 0 Block 4 (backedge) 26 Constant object 104289c3f040 (LexicalEnvironment) Object 27 Constant object 104289c3e030 (global) Object 28 Constant function megaComplex (-e:25) at 104289c6c858 Object 29 Constant undefined Undefined 30 Constant 0x1 Int32 31 Constant function megaComplex (-e:25) at 104289c6c858 Object 32 GuardSpecificFunction ← Constant#28, Constant#31 Object 33 Call ← GuardSpecificFunction#32, Constant#29, Phi#19 Value 34 Unbox Phi#19 to Int32 (fallible) Int32 35 Constant 0x1 Int32 36 Add ← Unbox#34, Constant#35 [int32] Int32 37 Goto → block 3 Block 5 38 Return ← Phi#18
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 5 Constant magic uninitialized-lexical MagicUninitializedLexical 6 Constant 0x0 Int32 12 Goto → block 2 Block 1 7 OsrEntry Pointer 8 OsrEnvironmentChain ← OsrEntry#7 Object 9 OsrReturnValue ← OsrEntry#7 Value 10 OsrValue ← OsrEntry#7 Value 11 Start 13 Goto → block 2 Block 2 14 Phi ← Constant#3, OsrEnvironmentChain#8 Object 15 Phi ← Constant#0, OsrReturnValue#9 Value 16 Phi ← Constant#6, OsrValue#10 Value 20 Goto → block 3 Block 3 (loop header) 17 Phi ← Phi#14, Phi#14 Value 18 Phi ← Phi#15, Call#33 Value 19 Phi ← Phi#16, Add#36 Value 21 InterruptCheck 22 Constant 0x2710 Int32 23 Unbox Phi#19 to Int32 (fallible) Int32 24 Compare ← Unbox#23, Constant#22 Lt Bool 25 Test ← Compare#24 → block 4, block 5 1 0 Block 4 (backedge) 26 Constant object 104289c3f040 (LexicalEnvironment) Object 27 Constant object 104289c3e030 (global) Object 28 Constant function megaComplex (-e:25) at 104289c6c858 Object 29 Constant undefined Undefined 30 Constant 0x1 Int32 31 Constant function megaComplex (-e:25) at 104289c6c858 Object 32 GuardSpecificFunction ← Constant#28, Constant#31 Object 33 Call ← GuardSpecificFunction#32, Constant#29, Phi#19 Value 34 Unbox Phi#19 to Int32 (fallible) Int32 35 Constant 0x1 Int32 36 Add ← Unbox#34, Constant#35 [int32] Int32 37 Goto → block 3 Block 5 38 Return ← Phi#18
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 5 Constant magic uninitialized-lexical MagicUninitializedLexical 6 Constant 0x0 Int32 12 Goto → block 2 Block 1 7 OsrEntry Pointer 8 OsrEnvironmentChain ← OsrEntry#7 Object 9 OsrReturnValue ← OsrEntry#7 Value 10 OsrValue ← OsrEntry#7 Value 11 Start 13 Goto → block 2 Block 2 14 Phi ← Constant#3, OsrEnvironmentChain#8 Object 15 Phi ← Constant#0, OsrReturnValue#9 Value 16 Phi ← Constant#6, OsrValue#10 Value 20 Goto → block 3 Block 3 (loop header) 17 Phi ← Phi#14, Phi#14 Value 18 Phi ← Phi#15, Call#33 Value 19 Phi ← Phi#16, Add#36 Value 21 InterruptCheck 22 Constant 0x2710 Int32 23 Unbox Phi#19 to Int32 (fallible) Int32 24 Compare ← Unbox#23, Constant#22 Lt Bool 25 Test ← Compare#24 → block 4, block 5 1 0 Block 4 (backedge) 26 Constant object 104289c3f040 (LexicalEnvironment) Object 27 Constant object 104289c3e030 (global) Object 28 Constant function megaComplex (-e:25) at 104289c6c858 Object 29 Constant undefined Undefined 30 Constant 0x1 Int32 31 Constant function megaComplex (-e:25) at 104289c6c858 Object 32 GuardSpecificFunction ← Constant#28, Constant#31 Object 33 Call ← GuardSpecificFunction#32, Constant#29, Phi#19 Value 34 Unbox Phi#19 to Int32 (fallible) Int32 35 Constant 0x1 Int32 36 Add ← Unbox#34, Constant#35 [int32] Int32 37 Goto → block 3 Block 5 38 Return ← Phi#18
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 5 Constant magic uninitialized-lexical MagicUninitializedLexical 6 Constant 0x0 Int32 12 Goto → block 2 Block 1 7 OsrEntry Pointer 8 OsrEnvironmentChain ← OsrEntry#7 Object 9 OsrReturnValue ← OsrEntry#7 Value 10 OsrValue ← OsrEntry#7 Value 11 Start 13 Goto → block 2 Block 2 14 Phi ← Constant#3, OsrEnvironmentChain#8 Object 15 Phi ← Constant#0, OsrReturnValue#9 Value 16 Phi ← Constant#6, OsrValue#10 Value 20 Goto → block 3 Block 3 (loop header) 17 Phi ← Phi#14, Phi#14 Value 18 Phi ← Phi#15, Call#33 Value 19 Phi ← Phi#16, Add#36 Value 21 InterruptCheck 22 Constant 0x2710 Int32 23 Unbox Phi#19 to Int32 (fallible) Int32 24 Compare ← Unbox#23, Constant#22 Lt Bool 25 Test ← Compare#24 → block 4, block 5 1 0 Block 4 (backedge) 26 Constant object 104289c3f040 (LexicalEnvironment) Object 27 Constant object 104289c3e030 (global) Object 28 Constant function megaComplex (-e:25) at 104289c6c858 Object 29 Constant undefined Undefined 30 Constant 0x1 Int32 31 Constant function megaComplex (-e:25) at 104289c6c858 Object 32 GuardSpecificFunction ← Constant#28, Constant#31 Object 33 Call ← GuardSpecificFunction#32, Constant#29, Phi#19 Value 34 Unbox Phi#19 to Int32 (fallible) Int32 35 Constant 0x1 Int32 36 Add ← Unbox#34, Constant#35 [int32] Int32 37 Goto → block 3 Block 5 38 Return ← Phi#18
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 5 Constant magic uninitialized-lexical MagicUninitializedLexical 6 Constant 0x0 Int32 12 Goto → block 2 Block 1 7 OsrEntry Pointer 8 OsrEnvironmentChain ← OsrEntry#7 Object 9 OsrReturnValue ← OsrEntry#7 Value 10 OsrValue ← OsrEntry#7 Value 11 Start 13 Goto → block 2 Block 2 14 Phi ← Constant#3, OsrEnvironmentChain#8 Object 15 Phi ← Constant#0, OsrReturnValue#9 Value 16 Phi ← Constant#6, OsrValue#10 Value 20 Goto → block 3 Block 3 (loop header) 17 Phi ← Phi#14, Phi#14 Value 18 Phi ← Phi#15, Call#33 Value 19 Phi ← Phi#16, Add#36 Value 21 InterruptCheck 22 Constant 0x2710 Int32 23 Unbox Phi#19 to Int32 (fallible) Int32 24 Compare ← Unbox#23, Constant#22 Lt Bool 25 Test ← Compare#24 → block 4, block 5 1 0 Block 4 (backedge) 26 Constant object 104289c3f040 (LexicalEnvironment) Object 27 Constant object 104289c3e030 (global) Object 28 Constant function megaComplex (-e:25) at 104289c6c858 Object 29 Constant undefined Undefined 30 Constant 0x1 Int32 31 Constant function megaComplex (-e:25) at 104289c6c858 Object 32 GuardSpecificFunction ← Constant#28, Constant#31 Object 33 Call ← GuardSpecificFunction#32, Constant#29, Phi#19 Value 34 Unbox Phi#19 to Int32 (fallible) Int32 35 Constant 0x1 Int32 36 Add ← Unbox#34, Constant#35 [int32] Int32 37 Goto → block 3 Block 5 38 Return ← Phi#18
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 5 Constant magic uninitialized-lexical MagicUninitializedLexical 6 Constant 0x0 Int32 12 Goto → block 2 Block 1 7 OsrEntry Pointer 8 OsrEnvironmentChain ← OsrEntry#7 Object 9 OsrReturnValue ← OsrEntry#7 Value 10 OsrValue ← OsrEntry#7 Value 11 Start 13 Goto → block 2 Block 2 14 Phi ← Constant#3, OsrEnvironmentChain#8 Object 15 Phi ← Constant#0, OsrReturnValue#9 Value 16 Phi ← Constant#6, OsrValue#10 Value 20 Goto → block 3 Block 3 (loop header) 17 Phi ← Phi#14, Phi#14 Value 18 Phi ← Phi#15, Call#33 Value 19 Phi ← Phi#16, Add#36 Value 21 InterruptCheck 22 Constant 0x2710 Int32 23 Unbox Phi#19 to Int32 (fallible) Int32 24 Compare ← Unbox#23, Constant#22 Lt Bool 25 Test ← Compare#24 → block 4, block 5 1 0 Block 4 (backedge) 26 Constant object 104289c3f040 (LexicalEnvironment) Object 27 Constant object 104289c3e030 (global) Object 28 Constant function megaComplex (-e:25) at 104289c6c858 Object 29 Constant undefined Undefined 30 Constant 0x1 Int32 31 Constant function megaComplex (-e:25) at 104289c6c858 Object 32 GuardSpecificFunction ← Constant#28, Constant#31 Object 33 Call ← GuardSpecificFunction#32, Constant#29, Phi#19 Value 34 Unbox Phi#19 to Int32 (fallible) Int32 35 Constant 0x1 Int32 36 Add ← Unbox#34, Constant#35 [int32] Int32 37 Goto → block 3 Block 5 38 Return ← Phi#18
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 5 Constant magic uninitialized-lexical MagicUninitializedLexical 6 Constant 0x0 Int32 12 Goto → block 2 Block 1 7 OsrEntry Pointer 8 OsrEnvironmentChain ← OsrEntry#7 Object 9 OsrReturnValue ← OsrEntry#7 Value 10 OsrValue ← OsrEntry#7 Value 11 Start 13 Goto → block 2 Block 2 15 Phi ← Constant#0, OsrReturnValue#9 Value 16 Phi ← Constant#6, OsrValue#10 Value 42 Constant magic optimized-out MagicOptimizedOut 20 Goto → block 3 Block 3 (loop header) 18 Phi ← Phi#15, Call#33 Value 19 Phi ← Phi#16, Add#36 Value 41 Constant magic optimized-out MagicOptimizedOut 21 InterruptCheck 22 Constant 0x2710 Int32 23 Unbox Phi#19 to Int32 (fallible) Int32 24 Compare ← Unbox#23, Constant#22 Lt Bool 25 Test ← Compare#24 → block 4, block 5 1 0 Block 4 (backedge) 40 Constant magic optimized-out MagicOptimizedOut 26 Constant object 104289c3f040 (LexicalEnvironment) Object 27 Constant object 104289c3e030 (global) Object 28 Constant function megaComplex (-e:25) at 104289c6c858 Object 29 Constant undefined Undefined 30 Constant 0x1 Int32 31 Constant function megaComplex (-e:25) at 104289c6c858 Object 32 GuardSpecificFunction ← Constant#28, Constant#31 Object 33 Call ← GuardSpecificFunction#32, Constant#29, Phi#19 Value 34 Unbox Phi#19 to Int32 (fallible) Int32 35 Constant 0x1 Int32 36 Add ← Unbox#34, Constant#35 [int32] Int32 37 Goto → block 3 Block 5 39 Constant magic optimized-out MagicOptimizedOut 38 Return ← Phi#18
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 5 Constant magic uninitialized-lexical MagicUninitializedLexical 6 Constant 0x0 Int32 12 Goto → block 2 Block 1 7 OsrEntry Pointer 8 OsrEnvironmentChain ← OsrEntry#7 Object 9 OsrReturnValue ← OsrEntry#7 Value 10 OsrValue ← OsrEntry#7 Value 11 Start 13 Goto → block 2 Block 2 15 Phi ← Constant#0, OsrReturnValue#9 Value 16 Phi ← Constant#6, OsrValue#10 Value 42 Constant magic optimized-out MagicOptimizedOut 20 Goto → block 3 Block 3 (loop header) 18 Phi ← Phi#15, Call#33 Value 19 Phi ← Phi#16, Add#36 Value 41 Constant magic optimized-out MagicOptimizedOut 21 InterruptCheck 22 Constant 0x2710 Int32 23 Unbox Phi#19 to Int32 (fallible) Int32 24 Compare ← Unbox#23, Constant#22 Lt Bool 25 Test ← Compare#24 → block 4, block 5 1 0 Block 4 (backedge) 40 Constant magic optimized-out MagicOptimizedOut 26 Constant object 104289c3f040 (LexicalEnvironment) Object 27 Constant object 104289c3e030 (global) Object 28 Constant function megaComplex (-e:25) at 104289c6c858 Object 29 Constant undefined Undefined 30 Constant 0x1 Int32 31 Constant function megaComplex (-e:25) at 104289c6c858 Object 32 GuardSpecificFunction ← Constant#28, Constant#31 Object 33 Call ← GuardSpecificFunction#32, Constant#29, Phi#19 Value 34 Unbox Phi#19 to Int32 (fallible) Int32 35 Constant 0x1 Int32 36 Add ← Unbox#34, Constant#35 [int32] Int32 37 Goto → block 3 Block 5 39 Constant magic optimized-out MagicOptimizedOut 38 Return ← Phi#18
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 5 Constant magic uninitialized-lexical MagicUninitializedLexical 6 Constant 0x0 Int32 12 Goto → block 2 Block 1 7 OsrEntry Pointer 8 OsrEnvironmentChain ← OsrEntry#7 Object 9 OsrReturnValue ← OsrEntry#7 Value 10 OsrValue ← OsrEntry#7 Value 11 Start 13 Goto → block 2 Block 2 15 Phi ← Constant#0, OsrReturnValue#9 Value 16 Phi ← Constant#6, OsrValue#10 Value 42 Constant magic optimized-out MagicOptimizedOut 20 Goto → block 3 Block 3 (loop header) 18 Phi ← Phi#15, Call#33 Value 19 Phi ← Phi#16, Add#36 Value 41 Constant magic optimized-out MagicOptimizedOut 21 InterruptCheck 22 Constant 0x2710 Int32 23 Unbox Phi#19 to Int32 (fallible) Int32 24 Compare ← Unbox#23, Constant#22 Lt Bool 25 Test ← Compare#24 → block 4, block 5 1 0 Block 4 (backedge) 40 Constant magic optimized-out MagicOptimizedOut 26 Constant object 104289c3f040 (LexicalEnvironment) Object 27 Constant object 104289c3e030 (global) Object 28 Constant function megaComplex (-e:25) at 104289c6c858 Object 29 Constant undefined Undefined 30 Constant 0x1 Int32 31 Constant function megaComplex (-e:25) at 104289c6c858 Object 32 GuardSpecificFunction ← Constant#28, Constant#31 Object 33 Call ← GuardSpecificFunction#32, Constant#29, Phi#19 Value 34 Unbox Phi#19 to Int32 (fallible) Int32 35 Constant 0x1 Int32 36 Add ← Unbox#34, Constant#35 [int32] Int32 37 Goto → block 3 Block 5 39 Constant magic optimized-out MagicOptimizedOut 38 Return ← Phi#18
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 5 Constant magic uninitialized-lexical MagicUninitializedLexical 6 Constant 0x0 Int32 12 Goto → block 2 Block 1 7 OsrEntry Pointer 8 OsrEnvironmentChain ← OsrEntry#7 Object 9 OsrReturnValue ← OsrEntry#7 Value 10 OsrValue ← OsrEntry#7 Value 11 Start 13 Goto → block 2 Block 2 15 Phi ← Constant#0, OsrReturnValue#9 Value 16 Phi ← Constant#6, OsrValue#10 Value 42 Constant magic optimized-out MagicOptimizedOut 20 Goto → block 3 Block 3 (loop header) 18 Phi ← Phi#15, Call#33 Value 19 Phi ← Phi#16, Add#36 Value 41 Constant magic optimized-out MagicOptimizedOut 21 InterruptCheck 22 Constant 0x2710 Int32 23 Unbox Phi#19 to Int32 (fallible) Int32 24 Compare ← Unbox#23, Constant#22 Lt Bool 25 Test ← Compare#24 → block 4, block 5 1 0 Block 4 (backedge) 40 Constant magic optimized-out MagicOptimizedOut 26 Constant object 104289c3f040 (LexicalEnvironment) Object 27 Constant object 104289c3e030 (global) Object 28 Constant function megaComplex (-e:25) at 104289c6c858 Object 29 Constant undefined Undefined 30 Constant 0x1 Int32 31 Constant function megaComplex (-e:25) at 104289c6c858 Object 32 GuardSpecificFunction ← Constant#28, Constant#31 Object 33 Call ← GuardSpecificFunction#32, Constant#29, Phi#19 Value 34 Unbox Phi#19 to Int32 (fallible) Int32 35 Constant 0x1 Int32 36 Add ← Unbox#34, Constant#35 [int32] Int32 37 Goto → block 3 Block 5 39 Constant magic optimized-out MagicOptimizedOut 38 Return ← Phi#18
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 5 Constant magic uninitialized-lexical MagicUninitializedLexical 6 Constant 0x0 Int32 43 Box ← Constant#0 Value 12 Goto → block 2 Block 1 7 OsrEntry Pointer 8 OsrEnvironmentChain ← OsrEntry#7 Object 9 OsrReturnValue ← OsrEntry#7 Value 10 OsrValue ← OsrEntry#7 Value 11 Start 44 Unbox OsrValue#10 to Int32 (fallible) Int32 13 Goto → block 2 Block 2 15 Phi ← Box#43, OsrReturnValue#9 Value 16 Phi ← Constant#6, Unbox#44 Int32 42 Constant magic optimized-out MagicOptimizedOut 20 Goto → block 3 Block 3 (loop header) 18 Phi ← Phi#15, Call#33 Value 19 Phi ← Phi#16, Add#36 Int32 41 Constant magic optimized-out MagicOptimizedOut 21 InterruptCheck 22 Constant 0x2710 Int32 45 Box ← Phi#19 Value 23 Unbox Box#45 to Int32 (fallible) Int32 24 Compare ← Unbox#23, Constant#22 Lt Bool 25 Test ← Compare#24 → block 4, block 5 1 0 Block 4 (backedge) 40 Constant magic optimized-out MagicOptimizedOut 26 Constant object 104289c3f040 (LexicalEnvironment) Object 27 Constant object 104289c3e030 (global) Object 28 Constant function megaComplex (-e:25) at 104289c6c858 Object 29 Constant undefined Undefined 30 Constant 0x1 Int32 31 Constant function megaComplex (-e:25) at 104289c6c858 Object 32 GuardSpecificFunction ← Constant#28, Constant#31 Object 33 Call ← GuardSpecificFunction#32, Constant#29, Phi#19 Value 46 Box ← Phi#19 Value 34 Unbox Box#46 to Int32 (fallible) Int32 35 Constant 0x1 Int32 36 Add ← Unbox#34, Constant#35 [int32] Int32 37 Goto → block 3 Block 5 39 Constant magic optimized-out MagicOptimizedOut 38 Return ← Phi#18
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 5 Constant magic uninitialized-lexical MagicUninitializedLexical 6 Constant 0x0 Int32 7 Box ← Constant#0 Value 8 Goto → block 2 Block 1 9 OsrEntry Pointer 10 OsrEnvironmentChain ← OsrEntry#9 Object 11 OsrReturnValue ← OsrEntry#9 Value 12 OsrValue ← OsrEntry#9 Value 13 Start 14 Unbox OsrValue#12 to Int32 (fallible) Int32 15 Goto → block 2 Block 2 16 Phi ← Box#7, OsrReturnValue#11 Value 17 Phi ← Constant#6, Unbox#14 Int32 18 Constant magic optimized-out MagicOptimizedOut 19 Goto → block 3 Block 3 (loop header) 20 Phi ← Phi#16, Call#37 Value 21 Phi ← Phi#17, Add#41 Int32 22 Constant magic optimized-out MagicOptimizedOut 23 InterruptCheck 24 Constant 0x2710 Int32 25 Box ← Phi#21 Value 26 Unbox Box#25 to Int32 (fallible) Int32 27 Compare ← Unbox#26, Constant#24 Lt Bool 28 Test ← Compare#27 → block 4, block 5 1 0 Block 4 (backedge) 29 Constant magic optimized-out MagicOptimizedOut 30 Constant object 104289c3f040 (LexicalEnvironment) Object 31 Constant object 104289c3e030 (global) Object 32 Constant function megaComplex (-e:25) at 104289c6c858 Object 33 Constant undefined Undefined 34 Constant 0x1 Int32 35 Constant function megaComplex (-e:25) at 104289c6c858 Object 36 GuardSpecificFunction ← Constant#32, Constant#35 Object 37 Call ← GuardSpecificFunction#36, Constant#33, Phi#21 Value 38 Box ← Phi#21 Value 39 Unbox Box#38 to Int32 (fallible) Int32 40 Constant 0x1 Int32 41 Add ← Unbox#39, Constant#40 [int32] Int32 42 Goto → block 3 Block 5 43 Constant magic optimized-out MagicOptimizedOut 44 Return ← Phi#20
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 5 Constant magic uninitialized-lexical MagicUninitializedLexical 6 Constant 0x0 Int32 7 Box ← Constant#0 Value 8 Goto → block 2 Block 1 9 OsrEntry Pointer 10 OsrEnvironmentChain ← OsrEntry#9 Object 11 OsrReturnValue ← OsrEntry#9 Value 12 OsrValue ← OsrEntry#9 Value 13 Start 14 Unbox OsrValue#12 to Int32 (fallible) Int32 15 Goto → block 2 Block 2 16 Phi ← Box#7, OsrReturnValue#11 Value 17 Phi ← Constant#6, Unbox#14 Int32 18 Constant magic optimized-out MagicOptimizedOut 19 Goto → block 3 Block 3 (loop header) 20 Phi ← Phi#16, Call#37 Value 21 Phi ← Phi#17, Add#41 Int32 22 Constant magic optimized-out MagicOptimizedOut 23 InterruptCheck 24 Constant 0x2710 Int32 25 Box ← Phi#21 Value 26 Unbox Box#25 to Int32 (fallible) Int32 27 Compare ← Unbox#26, Constant#24 Lt Bool 28 Test ← Compare#27 → block 4, block 5 1 0 Block 4 (backedge) 29 Constant magic optimized-out MagicOptimizedOut 30 Constant object 104289c3f040 (LexicalEnvironment) Object 31 Constant object 104289c3e030 (global) Object 32 Constant function megaComplex (-e:25) at 104289c6c858 Object 33 Constant undefined Undefined 34 Constant 0x1 Int32 35 Constant function megaComplex (-e:25) at 104289c6c858 Object 36 GuardSpecificFunction ← Constant#32, Constant#35 Object 37 Call ← GuardSpecificFunction#36, Constant#33, Phi#21 Value 38 Box ← Phi#21 Value 39 Unbox Box#38 to Int32 (fallible) Int32 40 Constant 0x1 Int32 41 Add ← Unbox#39, Constant#40 [int32] Int32 42 Goto → block 3 Block 5 43 Constant magic optimized-out MagicOptimizedOut 44 Return ← Phi#20
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 6 Constant 0x0 Int32 7 Box ← Constant#0 Value 8 Goto → block 2 Block 1 9 OsrEntry Pointer 10 OsrEnvironmentChain ← OsrEntry#9 Object 11 OsrReturnValue ← OsrEntry#9 Value 12 OsrValue ← OsrEntry#9 Value 13 Start 14 Unbox OsrValue#12 to Int32 (fallible) Int32 15 Goto → block 2 Block 2 16 Phi ← Box#7, OsrReturnValue#11 Value 17 Phi ← Constant#6, Unbox#14 Int32 18 Constant magic optimized-out MagicOptimizedOut 19 Goto → block 3 Block 3 (loop header) 20 Phi ← Phi#16, Call#37 Value 21 Phi ← Phi#17, Add#41 Int32 23 InterruptCheck 24 Constant 0x2710 Int32 27 Compare ← Phi#21, Constant#24 Lt Bool 28 Test ← Compare#27 → block 4, block 5 1 0 Block 4 (backedge) 32 Constant function megaComplex (-e:25) at 104289c6c858 Object 33 Constant undefined Undefined 37 Call ← Constant#32, Constant#33, Phi#21 Value 40 Constant 0x1 Int32 41 Add ← Phi#21, Constant#40 [int32] Int32 42 Goto → block 3 Block 5 44 Return ← Phi#20
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 6 Constant 0x0 Int32 7 Box ← Constant#0 Value 8 Goto → block 2 Block 1 9 OsrEntry Pointer 10 OsrEnvironmentChain ← OsrEntry#9 Object 11 OsrReturnValue ← OsrEntry#9 Value 12 OsrValue ← OsrEntry#9 Value 13 Start 14 Unbox OsrValue#12 to Int32 (fallible) Int32 15 Goto → block 2 Block 2 16 Phi ← Box#7, OsrReturnValue#11 Value 17 Phi ← Constant#6, Unbox#14 Int32 18 Constant magic optimized-out MagicOptimizedOut 19 Goto → block 3 Block 3 (loop header) 20 Phi ← Phi#16, Call#37 Value 21 Phi ← Phi#17, Add#41 Int32 23 InterruptCheck 24 Constant 0x2710 Int32 27 Compare ← Phi#21, Constant#24 Lt Bool 28 Test ← Compare#27 → block 4, block 5 1 0 Block 4 (backedge) 32 Constant function megaComplex (-e:25) at 104289c6c858 Object 33 Constant undefined Undefined 37 Call ← Constant#32, Constant#33, Phi#21 Value 40 Constant 0x1 Int32 41 Add ← Phi#21, Constant#40 [int32] Int32 42 Goto → block 3 Block 5 44 Return ← Phi#20
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 6 Constant 0x0 Int32 7 Box ← Constant#0 Value 8 Goto → block 2 Block 1 9 OsrEntry Pointer 10 OsrEnvironmentChain ← OsrEntry#9 Object 11 OsrReturnValue ← OsrEntry#9 Value 12 OsrValue ← OsrEntry#9 Value 13 Start 14 Unbox OsrValue#12 to Int32 (fallible) Int32 15 Goto → block 2 Block 2 16 Phi ← Box#7, OsrReturnValue#11 Value 17 Phi ← Constant#6, Unbox#14 Int32 18 Constant magic optimized-out MagicOptimizedOut 19 Goto → block 3 Block 3 (loop header) 20 Phi ← Phi#16, Call#37 Value 21 Phi ← Phi#17, Add#41 Int32 23 InterruptCheck 24 Constant 0x2710 Int32 27 Compare ← Phi#21, Constant#24 Lt Bool 28 Test ← Compare#27 → block 4, block 5 1 0 Block 4 (backedge) 48 Beta ← Phi#21 F[?, 9999] (U -Infinity U -0) Int32 32 Constant function megaComplex (-e:25) at 104289c6c858 Object 33 Constant undefined Undefined 37 Call ← Constant#32, Constant#33, Beta#48 Value 40 Constant 0x1 Int32 41 Add ← Beta#48, Constant#40 [int32] Int32 42 Goto → block 3 Block 5 47 Beta ← Phi#21 F[10000, ?] (U NaN U Infinity) Int32 44 Return ← Phi#20
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 6 Constant 0x0 I[0, 0]: Int32 7 Box ← Constant#0 Value 8 Goto → block 2 Block 1 9 OsrEntry Pointer 10 OsrEnvironmentChain ← OsrEntry#9 Object 11 OsrReturnValue ← OsrEntry#9 Value 12 OsrValue ← OsrEntry#9 Value 13 Start 14 Unbox OsrValue#12 to Int32 (fallible) Int32 15 Goto → block 2 Block 2 16 Phi ← Box#7, OsrReturnValue#11 Value 17 Phi ← Constant#6, Unbox#14 Int32 18 Constant magic optimized-out MagicOptimizedOut 19 Goto → block 3 Block 3 (loop header) 20 Phi ← Phi#16, Call#37 Value 21 Phi ← Phi#17, Add#41 I[-2147483648 {#17}, 2147483647 {[loop] +9999}]: Int32 23 InterruptCheck 24 Constant 0x2710 I[10000, 10000]: Int32 27 Compare ← Phi#21, Constant#24 Lt Bool 28 Test ← Compare#27 → block 4, block 5 1 0 Block 4 (backedge) 48 Beta ← Phi#21 F[?, 9999] (U -Infinity U -0) I[-2147483648, 9999] (U -0): Int32 32 Constant function megaComplex (-e:25) at 104289c6c858 Object 33 Constant undefined Undefined 37 Call ← Constant#32, Constant#33, Beta#48 Value 40 Constant 0x1 I[1, 1]: Int32 41 Add ← Beta#48, Constant#40 [int32] I[-2147483647, 10000]: Int32 42 Goto → block 3 Block 5 47 Beta ← Phi#21 F[10000, ?] (U NaN U Infinity) I[10000, 2147483647]: Int32 44 Return ← Phi#20
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 6 Constant 0x0 I[0, 0]: Int32 7 Box ← Constant#0 Value 8 Goto → block 2 Block 1 9 OsrEntry Pointer 10 OsrEnvironmentChain ← OsrEntry#9 Object 11 OsrReturnValue ← OsrEntry#9 Value 12 OsrValue ← OsrEntry#9 Value 13 Start 14 Unbox OsrValue#12 to Int32 (fallible) Int32 15 Goto → block 2 Block 2 16 Phi ← Box#7, OsrReturnValue#11 Value 17 Phi ← Constant#6, Unbox#14 Int32 18 Constant magic optimized-out MagicOptimizedOut 19 Goto → block 3 Block 3 (loop header) 20 Phi ← Phi#16, Call#37 Value 21 Phi ← Phi#17, Add#41 I[-2147483648 {#17}, 2147483647 {[loop] +9999}]: Int32 23 InterruptCheck 24 Constant 0x2710 I[10000, 10000]: Int32 27 Compare ← Phi#21, Constant#24 Lt Bool 28 Test ← Compare#27 → block 4, block 5 1 0 Block 4 (backedge) 32 Constant function megaComplex (-e:25) at 104289c6c858 Object 33 Constant undefined Undefined 37 Call ← Constant#32, Constant#33, Phi#21 Value 40 Constant 0x1 I[1, 1]: Int32 41 Add ← Phi#21, Constant#40 [int32] I[-2147483647, 10000]: Int32 42 Goto → block 3 Block 5 44 Return ← Phi#20
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 6 Constant 0x0 I[0, 0]: Int32 7 Box ← Constant#0 Value 8 Goto → block 2 Block 1 9 OsrEntry Pointer 10 OsrEnvironmentChain ← OsrEntry#9 Object 11 OsrReturnValue ← OsrEntry#9 Value 12 OsrValue ← OsrEntry#9 Value 13 Start 14 Unbox OsrValue#12 to Int32 (fallible) Int32 15 Goto → block 2 Block 2 16 Phi ← Box#7, OsrReturnValue#11 Value 17 Phi ← Constant#6, Unbox#14 Int32 18 Constant magic optimized-out MagicOptimizedOut 19 Goto → block 3 Block 3 (loop header) 20 Phi ← Phi#16, Call#37 Value 21 Phi ← Phi#17, Add#41 I[-2147483648 {#17}, 2147483647 {[loop] +9999}]: Int32 23 InterruptCheck 24 Constant 0x2710 I[10000, 10000]: Int32 27 Compare ← Phi#21, Constant#24 Lt Bool 28 Test ← Compare#27 → block 4, block 5 1 0 Block 4 (backedge) 32 Constant function megaComplex (-e:25) at 104289c6c858 Object 33 Constant undefined Undefined 37 Call ← Constant#32, Constant#33, Phi#21 Value 40 Constant 0x1 I[1, 1]: Int32 41 Add ← Phi#21, Constant#40 [int32] I[-2147483647, 10000]: Int32 42 Goto → block 3 Block 5 44 Return ← Phi#20
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 6 Constant 0x0 I[0, 0]: Int32 7 Box ← Constant#0 Value 8 Goto → block 2 Block 1 9 OsrEntry Pointer 10 OsrEnvironmentChain ← OsrEntry#9 Object 11 OsrReturnValue ← OsrEntry#9 Value 12 OsrValue ← OsrEntry#9 Value 13 Start 14 Unbox OsrValue#12 to Int32 (fallible) Int32 15 Goto → block 2 Block 2 16 Phi ← Box#7, OsrReturnValue#11 Value 17 Phi ← Constant#6, Unbox#14 Int32 18 Constant magic optimized-out MagicOptimizedOut 19 Goto → block 3 Block 3 (loop header) 20 Phi ← Phi#16, Call#37 Value 21 Phi ← Phi#17, Add#41 I[-2147483648 {#17}, 2147483647 {[loop] +9999}]: Int32 23 InterruptCheck 24 Constant 0x2710 I[10000, 10000]: Int32 27 Compare ← Phi#21, Constant#24 Lt Bool 28 Test ← Compare#27 → block 4, block 5 1 0 Block 4 (backedge) 32 Constant function megaComplex (-e:25) at 104289c6c858 Object 33 Constant undefined Undefined 37 Call ← Constant#32, Constant#33, Phi#21 Value 40 Constant 0x1 I[1, 1]: Int32 41 Add ← Phi#21, Constant#40 [int32] I[-2147483647, 10000]: Int32 42 Goto → block 3 Block 5 44 Return ← Phi#20
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 6 Constant 0x0 I[0, 0]: Int32 7 Box ← Constant#0 Value 8 Goto → block 2 Block 1 9 OsrEntry Pointer 10 OsrEnvironmentChain ← OsrEntry#9 Object 11 OsrReturnValue ← OsrEntry#9 Value 12 OsrValue ← OsrEntry#9 Value 13 Start 14 Unbox OsrValue#12 to Int32 (fallible) Int32 15 Goto → block 2 Block 2 16 Phi ← Box#7, OsrReturnValue#11 Value 17 Phi ← Constant#6, Unbox#14 Int32 18 Constant magic optimized-out MagicOptimizedOut 19 Goto → block 3 Block 3 (loop header) 20 Phi ← Phi#16, Call#37 Value 21 Phi ← Phi#17, Add#41 I[-2147483648 {#17}, 2147483647 {[loop] +9999}]: Int32 23 InterruptCheck 24 Constant 0x2710 I[10000, 10000]: Int32 27 Compare ← Phi#21, Constant#24 Lt Bool 28 Test ← Compare#27 → block 4, block 5 1 0 Block 4 (backedge) 32 Constant function megaComplex (-e:25) at 104289c6c858 Object 33 Constant undefined Undefined 37 Call ← Constant#32, Constant#33, Phi#21 Value 40 Constant 0x1 I[1, 1]: Int32 41 Add ← Phi#21, Constant#40 [int32] I[-2147483647, 10000]: Int32 42 Goto → block 3 Block 5 44 Return ← Phi#20
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 6 Constant 0x0 I[0, 0]: Int32 7 Box ← Constant#0 Value 8 Goto → block 2 Block 1 9 OsrEntry Pointer 10 OsrEnvironmentChain ← OsrEntry#9 Object 11 OsrReturnValue ← OsrEntry#9 Value 12 OsrValue ← OsrEntry#9 Value 13 Start 14 Unbox OsrValue#12 to Int32 (fallible) Int32 15 Goto → block 2 Block 2 16 Phi ← Box#7, OsrReturnValue#11 Value 17 Phi ← Constant#6, Unbox#14 Int32 18 Constant magic optimized-out MagicOptimizedOut 19 Goto → block 3 Block 3 (loop header) 20 Phi ← Phi#16, Call#37 Value 21 Phi ← Phi#17, Add#41 I[-2147483648 {#17}, 2147483647 {[loop] +9999}]: Int32 23 InterruptCheck 24 Constant 0x2710 I[10000, 10000]: Int32 27 Compare ← Phi#21, Constant#24 Lt Bool 28 Test ← Compare#27 → block 4, block 5 1 0 Block 4 (backedge) 32 Constant function megaComplex (-e:25) at 104289c6c858 Object 33 Constant undefined Undefined 37 Call ← Constant#32, Constant#33, Phi#21 Value 40 Constant 0x1 I[1, 1]: Int32 41 Add ← Phi#21, Constant#40 [int32] I[-2147483647, 10000]: Int32 42 Goto → block 3 Block 5 44 Return ← Phi#20
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 6 Constant 0x0 I[0, 0]: Int32 7 Box ← Constant#0 Value 8 Goto → block 2 Block 1 9 OsrEntry Pointer 10 OsrEnvironmentChain ← OsrEntry#9 Object 11 OsrReturnValue ← OsrEntry#9 Value 12 OsrValue ← OsrEntry#9 Value 13 Start 14 Unbox OsrValue#12 to Int32 (fallible) Int32 15 Goto → block 2 Block 2 16 Phi ← Box#7, OsrReturnValue#11 Value 17 Phi ← Constant#6, Unbox#14 Int32 18 Constant magic optimized-out MagicOptimizedOut 19 Goto → block 3 Block 3 (loop header) 20 Phi ← Phi#16, Call#37 Value 21 Phi ← Phi#17, Add#41 I[-2147483648 {#17}, 2147483647 {[loop] +9999}]: Int32 23 InterruptCheck 24 Constant 0x2710 I[10000, 10000]: Int32 27 Compare ← Phi#21, Constant#24 Lt Bool 28 Test ← Compare#27 → block 4, block 5 1 0 Block 4 (backedge) 32 Constant function megaComplex (-e:25) at 104289c6c858 Object 33 Constant undefined Undefined 37 Call ← Constant#32, Constant#33, Phi#21 Value 40 Constant 0x1 I[1, 1]: Int32 41 Add ← Phi#21, Constant#40 [int32] I[-2147483647, 10000]: Int32 42 Goto → block 3 Block 5 44 Return ← Phi#20
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 6 Constant 0x0 I[0, 0]: Int32 7 Box ← Constant#0 Value 8 Goto → block 2 Block 1 9 OsrEntry Pointer 10 OsrEnvironmentChain ← OsrEntry#9 Object 11 OsrReturnValue ← OsrEntry#9 Value 12 OsrValue ← OsrEntry#9 Value 13 Start 14 Unbox OsrValue#12 to Int32 (fallible) Int32 15 Goto → block 2 Block 2 16 Phi ← Box#7, OsrReturnValue#11 Value 17 Phi ← Constant#6, Unbox#14 Int32 18 Constant magic optimized-out MagicOptimizedOut 19 Goto → block 3 Block 3 (loop header) 20 Phi ← Phi#16, Call#37 Value 21 Phi ← Phi#17, Add#41 I[-2147483648 {#17}, 2147483647 {[loop] +9999}]: Int32 23 InterruptCheck 24 Constant 0x2710 I[10000, 10000]: Int32 27 Compare ← Phi#21, Constant#24 Lt Bool 28 Test ← Compare#27 → block 4, block 5 1 0 Block 4 (backedge) 32 Constant function megaComplex (-e:25) at 104289c6c858 Object 33 Constant undefined Undefined 37 Call ← Constant#32, Constant#33, Phi#21 Value 40 Constant 0x1 I[1, 1]: Int32 41 Add ← Phi#21, Constant#40 [int32] I[-2147483647, 10000]: Int32 42 Goto → block 3 Block 5 44 Return ← Phi#20
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 5 Constant 0x0 I[0, 0]: Int32 6 Box ← Constant#0 Value 7 Goto → block 2 Block 1 8 OsrEntry Pointer 9 OsrEnvironmentChain ← OsrEntry#8 Object 10 OsrReturnValue ← OsrEntry#8 Value 11 OsrValue ← OsrEntry#8 Value 12 Start 13 Unbox OsrValue#11 to Int32 (fallible) Int32 14 Goto → block 2 Block 2 15 Phi ← Box#6, OsrReturnValue#10 Value 16 Phi ← Constant#5, Unbox#13 Int32 17 Constant magic optimized-out MagicOptimizedOut 18 Goto → block 3 Block 3 (loop header) 19 Phi ← Phi#15, Call#28 Value 20 Phi ← Phi#16, Add#29 I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32 21 InterruptCheck 22 Constant 0x2710 I[10000, 10000]: Int32 23 Compare ← Phi#20, Constant#22 Lt Bool 24 Test ← Compare#23 → block 4, block 5 1 0 Block 4 (backedge) 25 Constant function megaComplex (-e:25) at 104289c6c858 Object 26 Constant undefined Undefined 27 Constant 0x1 I[1, 1]: Int32 28 Call ← Constant#25, Constant#26, Phi#20 Value 29 Add ← Phi#20, Constant#27 [int32] I[-2147483647, 10000]: Int32 30 Goto → block 3 Block 5 31 Return ← Phi#19
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 5 Constant 0x0 I[0, 0]: Int32 6 Box ← Constant#0 Value 7 Goto → block 2 Block 1 8 OsrEntry Pointer 9 OsrEnvironmentChain ← OsrEntry#8 Object 10 OsrReturnValue ← OsrEntry#8 Value 11 OsrValue ← OsrEntry#8 Value 12 Start 13 Unbox OsrValue#11 to Int32 (fallible) Int32 14 Goto → block 2 Block 2 15 Phi ← Box#6, OsrReturnValue#10 Value 16 Phi ← Constant#5, Unbox#13 Int32 17 Constant magic optimized-out MagicOptimizedOut 18 Goto → block 3 Block 3 (loop header) 19 Phi ← Phi#15, Call#28 Value 20 Phi ← Phi#16, Add#29 I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32 21 InterruptCheck 22 Constant 0x2710 I[10000, 10000]: Int32 23 Compare ← Phi#20, Constant#22 Lt Bool 24 Test ← Compare#23 → block 4, block 5 1 0 Block 4 (backedge) 25 Constant function megaComplex (-e:25) at 104289c6c858 Object 26 Constant undefined Undefined 27 Constant 0x1 I[1, 1]: Int32 28 Call ← Constant#25, Constant#26, Phi#20 Value 29 Add ← Phi#20, Constant#27 [int32] I[-2147483647, 10000]: Int32 30 Goto → block 3 Block 5 31 Return ← Phi#19
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 5 Constant 0x0 I[0, 0]: Int32 6 Box ← Constant#0 Value 7 Goto → block 2 Block 1 8 OsrEntry Pointer 9 OsrEnvironmentChain ← OsrEntry#8 Object 10 OsrReturnValue ← OsrEntry#8 Value 11 OsrValue ← OsrEntry#8 Value 12 Start 13 Unbox OsrValue#11 to Int32 (fallible) Int32 14 Goto → block 2 Block 2 15 Phi ← Box#6, OsrReturnValue#10 Value 16 Phi ← Constant#5, Unbox#13 Int32 17 Constant magic optimized-out MagicOptimizedOut 18 Goto → block 3 Block 3 (loop header) 19 Phi ← Phi#15, Call#28 Value 20 Phi ← Phi#16, Add#29 I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32 21 InterruptCheck 22 Constant 0x2710 I[10000, 10000]: Int32 23 Compare ← Phi#20, Constant#22 Lt Bool 24 Test ← Compare#23 → block 4, block 5 1 0 Block 4 (backedge) 25 Constant function megaComplex (-e:25) at 104289c6c858 Object 26 Constant undefined Undefined 27 Constant 0x1 I[1, 1]: Int32 28 Call ← Constant#25, Constant#26, Phi#20 Value 29 Add ← Phi#20, Constant#27 [int32] I[-2147483647, 10000]: Int32 30 Goto → block 3 Block 5 31 Return ← Phi#19
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 5 Constant 0x0 I[0, 0]: Int32 6 Box ← Constant#0 Value 7 Goto → block 2 Block 1 8 OsrEntry Pointer 9 OsrEnvironmentChain ← OsrEntry#8 Object 10 OsrReturnValue ← OsrEntry#8 Value 11 OsrValue ← OsrEntry#8 Value 12 Start 13 Unbox OsrValue#11 to Int32 (fallible) Int32 14 Goto → block 2 Block 2 15 Phi ← Box#6, OsrReturnValue#10 Value 16 Phi ← Constant#5, Unbox#13 Int32 17 Constant magic optimized-out MagicOptimizedOut 18 Goto → block 3 Block 3 (loop header) 19 Phi ← Phi#15, Call#28 Value 20 Phi ← Phi#16, Add#29 I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32 21 InterruptCheck 22 Constant 0x2710 I[10000, 10000]: Int32 23 Compare ← Phi#20, Constant#22 Lt Bool 24 Test ← Compare#23 → block 4, block 5 1 0 Block 4 (backedge) 25 Constant function megaComplex (-e:25) at 104289c6c858 Object 26 Constant undefined Undefined 27 Constant 0x1 I[1, 1]: Int32 28 Call ← Constant#25, Constant#26, Phi#20 Value 29 Add ← Phi#20, Constant#27 [int32] I[-2147483647, 10000]: Int32 30 Goto → block 3 Block 5 31 Return ← Phi#19
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 5 Constant 0x0 I[0, 0]: Int32 6 Box ← Constant#0 Value 7 Goto → block 2 Block 1 8 OsrEntry Pointer 9 OsrEnvironmentChain ← OsrEntry#8 Object 10 OsrReturnValue ← OsrEntry#8 Value 11 OsrValue ← OsrEntry#8 Value 12 Start 13 Unbox OsrValue#11 to Int32 (fallible) Int32 14 Goto → block 2 Block 2 15 Phi ← Box#6, OsrReturnValue#10 Value 16 Phi ← Constant#5, Unbox#13 Int32 17 Constant magic optimized-out MagicOptimizedOut 18 Goto → block 3 Block 3 (loop header) 19 Phi ← Phi#15, Call#28 Value 20 Phi ← Phi#16, Add#29 I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32 21 InterruptCheck 22 Constant 0x2710 I[10000, 10000]: Int32 23 Compare ← Phi#20, Constant#22 Lt Bool 24 Test ← Compare#23 → block 4, block 5 1 0 Block 4 (backedge) 25 Constant function megaComplex (-e:25) at 104289c6c858 Object 26 Constant undefined Undefined 27 Constant 0x1 I[1, 1]: Int32 28 Call ← Constant#25, Constant#26, Phi#20 Value 29 Add ← Phi#20, Constant#27 [int32] I[-2147483647, 10000]: Int32 30 Goto → block 3 Block 5 31 Return ← Phi#19
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 5 Constant 0x0 I[0, 0]: Int32 6 Box ← Constant#0 Value 7 Goto → block 2 Block 1 8 OsrEntry Pointer 9 OsrEnvironmentChain ← OsrEntry#8 Object 10 OsrReturnValue ← OsrEntry#8 Value 11 OsrValue ← OsrEntry#8 Value 12 Start 13 Unbox OsrValue#11 to Int32 (fallible) Int32 14 Goto → block 2 Block 2 15 Phi ← Box#6, OsrReturnValue#10 Value 16 Phi ← Constant#5, Unbox#13 Int32 17 Constant magic optimized-out MagicOptimizedOut 18 Goto → block 3 Block 3 (loop header) 19 Phi ← Phi#15, Call#28 Value 20 Phi ← Phi#16, Add#29 I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32 21 InterruptCheck 22 Constant 0x2710 I[10000, 10000]: Int32 23 Compare ← Phi#20, Constant#22 Lt Bool 24 Test ← Compare#23 → block 4, block 5 1 0 Block 4 (backedge) 25 Constant function megaComplex (-e:25) at 104289c6c858 Object 26 Constant undefined Undefined 27 Constant 0x1 I[1, 1]: Int32 28 Call ← Constant#25, Constant#26, Phi#20 Value 29 Add ← Phi#20, Constant#27 [int32] I[-2147483647, 10000]: Int32 30 Goto → block 3 Block 5 31 Return ← Phi#19
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 5 Constant 0x0 I[0, 0]: Int32 6 Box ← Constant#0 Value 7 Goto → block 2 Block 1 8 OsrEntry Pointer 9 OsrEnvironmentChain ← OsrEntry#8 Object 10 OsrReturnValue ← OsrEntry#8 Value 11 OsrValue ← OsrEntry#8 Value 12 Start 13 Unbox OsrValue#11 to Int32 (fallible) Int32 14 Goto → block 2 Block 2 15 Phi ← Box#6, OsrReturnValue#10 Value 16 Phi ← Constant#5, Unbox#13 Int32 17 Constant magic optimized-out MagicOptimizedOut 18 Goto → block 3 Block 3 (loop header) 19 Phi ← Phi#15, Call#28 Value 20 Phi ← Phi#16, Add#29 I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32 21 InterruptCheck 22 Constant 0x2710 I[10000, 10000]: Int32 23 Compare ← Phi#20, Constant#22 Lt Bool 24 Test ← Compare#23 → block 4, block 5 1 0 Block 4 (backedge) 25 Constant function megaComplex (-e:25) at 104289c6c858 Object 26 Constant undefined Undefined 27 Constant 0x1 I[1, 1]: Int32 28 Call ← Constant#25, Constant#26, Phi#20 Value 29 Add ← Phi#20, Constant#27 [int32] I[-2147483647, 10000]: Int32 30 Goto → block 3 Block 5 31 Return ← Phi#19
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 5 Constant 0x0 I[0, 0]: Int32 6 Box ← Constant#0 Value 7 Goto → block 2 Block 1 8 OsrEntry Pointer 9 OsrEnvironmentChain ← OsrEntry#8 Object 10 OsrReturnValue ← OsrEntry#8 Value 11 OsrValue ← OsrEntry#8 Value 12 Start 13 Unbox OsrValue#11 to Int32 (fallible) Int32 14 Goto → block 2 Block 2 15 Phi ← Box#6, OsrReturnValue#10 Value 16 Phi ← Constant#5, Unbox#13 Int32 17 Constant magic optimized-out MagicOptimizedOut 18 Goto → block 3 Block 3 (loop header) 19 Phi ← Phi#15, Call#28 Value 20 Phi ← Phi#16, Add#29 I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32 21 InterruptCheck 22 Constant 0x2710 I[10000, 10000]: Int32 23 Compare ← Phi#20, Constant#22 Lt Bool 24 Test ← Compare#23 → block 4, block 5 1 0 Block 4 (backedge) 25 Constant function megaComplex (-e:25) at 104289c6c858 Object 26 Constant undefined Undefined 27 Constant 0x1 I[1, 1]: Int32 28 Call ← Constant#25, Constant#26, Phi#20 Value 29 Add ← Phi#20, Constant#27 [int32] I[-2147483647, 10000]: Int32 30 Goto → block 3 Block 5 31 Return ← Phi#19
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 5 Constant 0x0 I[0, 0]: Int32 6 Box ← Constant#0 Value 7 Goto → block 2 Block 1 8 OsrEntry Pointer 9 OsrEnvironmentChain ← OsrEntry#8 Object 10 OsrReturnValue ← OsrEntry#8 Value 11 OsrValue ← OsrEntry#8 Value 12 Start 13 Unbox OsrValue#11 to Int32 (fallible) Int32 14 Goto → block 2 Block 2 15 Phi ← Box#6, OsrReturnValue#10 Value 16 Phi ← Constant#5, Unbox#13 Int32 17 Constant magic optimized-out MagicOptimizedOut 18 Goto → block 3 Block 3 (loop header) 19 Phi ← Phi#15, Call#28 Value 20 Phi ← Phi#16, Add#29 I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32 21 InterruptCheck 22 Constant 0x2710 I[10000, 10000]: Int32 23 Compare ← Phi#20, Constant#22 Lt Bool 24 Test ← Compare#23 → block 4, block 5 1 0 Block 4 (backedge) 25 Constant function megaComplex (-e:25) at 104289c6c858 Object 26 Constant undefined Undefined 27 Constant 0x1 I[1, 1]: Int32 28 Call ← Constant#25, Constant#26, Phi#20 Value 29 Add ← Phi#20, Constant#27 [int32] I[-2147483647, 10000]: Int32 30 Goto → block 3 Block 5 31 Return ← Phi#19
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 5 Constant 0x0 I[0, 0]: Int32 6 Box ← Constant#0 Value 7 Goto → block 2 Block 1 8 OsrEntry Pointer 9 OsrEnvironmentChain ← OsrEntry#8 Object 10 OsrReturnValue ← OsrEntry#8 Value 11 OsrValue ← OsrEntry#8 Value 12 Start 13 Unbox OsrValue#11 to Int32 (fallible) Int32 14 Goto → block 2 Block 2 15 Phi ← Box#6, OsrReturnValue#10 Value 16 Phi ← Constant#5, Unbox#13 Int32 17 Constant magic optimized-out MagicOptimizedOut 18 Goto → block 3 Block 3 (loop header) 19 Phi ← Phi#15, Call#28 Value 20 Phi ← Phi#16, Add#29 I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32 21 InterruptCheck 22 Constant 0x2710 I[10000, 10000]: Int32 23 Compare ← Phi#20, Constant#22 Lt Bool 24 Test ← Compare#23 → block 4, block 5 1 0 Block 4 (backedge) 25 Constant function megaComplex (-e:25) at 104289c6c858 Object 26 Constant undefined Undefined 27 Constant 0x1 I[1, 1]: Int32 28 Call ← Constant#25, Constant#26, Phi#20 Value 29 Add ← Phi#20, Constant#27 [int32] I[-2147483647, 10000]: Int32 30 Goto → block 3 Block 5 31 Return ← Phi#19
Block 0 0 Constant undefined Undefined 1 Start 2 CheckOverRecursed 3 Constant object 104289c3f040 (LexicalEnvironment) Object 4 GlobalDeclInstantiation 5 Constant 0x0 I[0, 0]: Int32 6 Box ← Constant#0 Value 7 Goto → block 2 Block 1 8 OsrEntry Pointer 9 OsrEnvironmentChain ← OsrEntry#8 Object 10 OsrReturnValue ← OsrEntry#8 Value 11 OsrValue ← OsrEntry#8 Value 12 Start 13 Unbox OsrValue#11 to Int32 (fallible) Int32 14 Goto → block 2 Block 2 15 Phi ← Box#6, OsrReturnValue#10 Value 16 Phi ← Constant#5, Unbox#13 Int32 17 Constant magic optimized-out MagicOptimizedOut 18 Goto → block 3 Block 3 (loop header) 19 Phi ← Phi#15, Call#28 Value 20 Phi ← Phi#16, Add#29 I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32 21 InterruptCheck 22 Constant 0x2710 I[10000, 10000]: Int32 23 Compare ← Phi#20, Constant#22 Lt Bool 24 Test ← Compare#23 → block 4, block 5 1 0 Block 4 (backedge) 25 Constant function megaComplex (-e:25) at 104289c6c858 Object 26 Constant undefined Undefined 27 Constant 0x1 I[1, 1]: Int32 28 Call ← Constant#25, Constant#26, Phi#20 Value 29 Add ← Phi#20, Constant#27 [int32] I[-2147483647, 10000]: Int32 30 Goto → block 3 Block 5 31 Return ← Phi#19